A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

//第一种 :上课的做法
/*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);
        }
}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马