黑马程序员技术交流社区

标题: ArrayList 排序 不剔除重复的两种方式 [打印本页]

作者: sufutian    时间: 2015-12-22 22:42
标题: ArrayList 排序 不剔除重复的两种方式
//第一种 :上课的做法
/*ArrayList<String> list = new ArrayList<>();
                list.add("ccc");
                list.add("ccc");
                list.add("aaa");
                list.add("aaa");
                list.add("bbb");
                list.add("ddd");
                list.add("ddd");
                sort(list);
                System.out.println(list);*/
                /*
                public  static void sort(ArrayList<String> list) {
                        //1.创建TreeSet
                        TreeSet<String> ts =new TreeSet<>(new Comparator<String>(){
                                public int compare(String s1,String s2){
                                        int num =s1.compareTo(s2);
                                        return num==0?1:num;//--------------保留重复元素.
                                }
                        });
                        //2. 我们用比较器
                        //3.list集合添加到treeset中 排序保留重复
                        ts.addAll(list);
                       
                        //4/清空list  在将treeset添加到list中
                        list.clear();
                        list.addAll(ts);
                       
                }


//然后:我发现了原来ArrayList也可以用间接Comparator接口
/**练习 排序  不剔除重复.*/
                /*ArrayList<String> list = new ArrayList<>();
                list.add("ccc");
                list.add("ccc");
                list.add("aaa");
                list.add("aaa");
                list.add("eee");
                list.add("bbb");
                list.add("ddd");
                list.add("ddd");
                Collections.sort(list, new Mycomparator());//------------通过collections的方法实现ArrayList的排序 而且list本身可重复
                for (String string : list) {
                        System.out.println(string);
                }*/
        }//main
}//class

class Mycomparator implements Comparator<String>{//---------自定义比较器
        public int compare(String s1,String s2){
                 return s1.compareTo(s2);
        }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2