java stream流对List<User>集合中年龄字段升序排序和降序排序
时间: 2024-06-03 22:10:45 浏览: 146
可以使用Java 8中的Stream API对List<User>集合中的年龄字段进行排序,代码如下:
升序排序:
List<User> userList = Arrays.asList(new User("Alice", 22), new User("Bob", 24), new User("Charlie", 20));
List<User> sortedByAgeAsc = userList.stream()
.sorted(Comparator.comparing(User::getAge))
.collect(Collectors.toList());
降序排序:
List<User> sortedByAgeDesc = userList.stream()
.sorted(Comparator.comparing(User::getAge).reversed())
.collect(Collectors.toList());
其中,User是一个自定义的Java Bean类,包含name和age两个字段,getAge()方法返回age字段的值。sorted()方法接受一个Comparator对象,用于指定排序的方式。对于升序排序,使用Comparator.comparing()方法来指定按照age字段升序排序;对于降序排序,使用Comparator.comparing().reversed()方法来指定按照age字段降序排序。最后使用collect()方法将排序后的结果转换为List集合。
阅读全文