操作集合类Collections,自定义集合排序方式

来源:互联网 发布:为什么会被`淘宝管控 编辑:程序博客网 时间:2024/05/19 18:37
//Collections:操作集合的工具类import java.util.*;class ComByLength implements Comparator<String>{    public int compare(String s1,String s2)    {        int num =s1.length()-s2.length();        return num==0?s1.compareTo(s2):num;    }}class Demo3 {    public static void main(String[] args)     {        //static <T extends Comparable<? super T>> void sort(List<T> list)         //需求:希望存储多个可以重复的对象,还希望可以排序        ArrayList<String> list  = new ArrayList<>();        list.add("htmlkkkkkkk");//String        list.add("javakkk");        list.add("mysqlkkkkkkkkkk");        list.add("java");        //按照集合中对象所属的类自身具备的比较方式进行排序的        // int compareTo()        //Collections.sort(list);        //按照自定的比较方式对集合中的对象进行排序        //Collections.sort(list,new ComByLength());        //得到和给定比较方式相反的比较方式        //Comparator com = Collections.reverseOrder(new ComByLength());        //Collections.sort(list,com);        //按照和集合中对象默认的比较方式向反的方式排序        //按照字符串大小从大到小排序        //Collections.sort(list,Collections.reverseOrder());        //Collections.reverse(list);        //System.out.println(Collections.max(list));        String max = getMax(list);        System.out.println(max);     }    public static <E extends Object&Comparable<? super E>>  E getMax(Collection<? extends E> col)    {          Iterator<? extends E>  ite = col.iterator();          E obj = ite.next();//得到集合中第一个对象          while(ite.hasNext())          {              E object = ite.next();              int num = obj.compareTo(object);              if(num<0)                  obj = object;          }          return obj;    }}
0 0
原创粉丝点击