//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;
}
}
操作集合类Collections,自定义集合排序方式
最新推荐文章于 2022-03-30 13:45:26 发布