使用Lambda表达式调用Collections的sort()方法,实现对一个List集合进行:降序排序。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("cab");
list.add("aaaaa");
list.add("bac");
list.add("acb");
list.add("cba");
list.add("bca");
list.add("abca");
list.add("abc");
//sort()方法对集合进行降序排序
//从大到小
Collections.sort(list,(o1,o2)->{
//返回值是正数表示o1>o2
//遍历字符串
for(int i=0; i<o1.length();i++){
if(o2.length()==i){
return -1;
}
//获取两个字符串的字符
char ch1 = o1.charAt(i);
char ch2 = o2.charAt(i);
// c a 本来c是99 a是97,想要把c放在a的前面就需要返回一个负数
if(ch1 > ch2){
return -1;
}else if(ch1 < ch2){
return 1;
}
}
return 0;
//return 1;
});
//打印集合
System.out.println(list);
}