目录
Collections.sort对list进行排序
对象中某个属性进行排序
通过比较器进行比较
JAVA8特性Stream流进行排序
Stream升降序组合使用
Collections.sort对list进行排序
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(2);
Collections.sort(list);
for (Integer integer : list) {
System.out.println(integer);
}
}
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("d");
list.add("c");
list.add("b");
Collections.sort(list);
for (String integer : list) {
System.out.println(integer);
}
}
运行结果
对象中某个属性进行排序
//升序
list.sort(Comparator.comparing(User::getName));
//降序
list.sort(Comparator.comparing(User::getName).reversed());
运行结果
通过比较器进行比较
//升序降级通过改变其中的参数确定
Collections.sort(list, new Comparator<User>(){
@Override
public int compare(User stu1, User stu2) {
// TODO Auto-generated method stub
return stu2.getName().compareTo(stu1.getName());
}
});
运行结果
JAVA8特性Stream流进行排序
//升序
List<User> collect = list.stream().sorted(Comparator.comparing(User::getName))
.collect(Collectors.toList());
//降序
List<User> collect = list.stream().sorted(Comparator.comparing(User::getName).reversed())
.collect(Collectors.toList());
Stream升降序组合使用
//先按照年龄进行升序,然后按照姓名降序
list.stream().sorted(Comparator.comparing(User::getAge).thenComparing(User::getName).reversed()).collect(Collectors.toList())
.forEach(s->{
System.out.println(s.getName()+s.getAge());
});
运行结果文章来源:https://www.toymoban.com/news/detail-606773.html
文章来源地址https://www.toymoban.com/news/detail-606773.html
到了这里,关于List的各种排序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!