首页 > 编程语言 > 详细

Stream 根据集合内的对象某个属性值进行排序

时间:2021-08-11 09:34:54      阅读:18      评论:0      收藏:0      [点我收藏+]

import com.alibaba.fastjson.JSON;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

/**
* stream 流根据集合的某个字段属性进行排序
*/

public class streamDemo01 {

public static void main(String[] args) {
List<User> users = Arrays.asList(
new User(101, "Jack"),
new User(102, "Kreas"),
new User(103, "Marry"),
new User(104, "Timi"),
new User(105, "Alice"));

//自然序
List<User> collect = users.stream().sorted(Comparator.comparing(User::getId)).collect(Collectors.toList());

//倒序
List<User> collect1 = users.stream().sorted(Comparator.comparing(User::getId).reversed()).collect(Collectors.toList());

System.out.println(JSON.toJSONString(collect));
System.out.println(JSON.toJSONString(collect1));

}
}

输出结果:

[{"id":101,"name":"Jack"},{"id":102,"name":"Kreas"},{"id":103,"name":"Marry"},{"id":104,"name":"Timi"},{"id":105,"name":"Alice"}]
[{"id":105,"name":"Alice"},{"id":104,"name":"Timi"},{"id":103,"name":"Marry"},{"id":102,"name":"Kreas"},{"id":101,"name":"Jack"}]


@Data
public class User {
// 用户ID
private long id;

// 用户名称
private String name;

public User(long id, String name) {
this.id = id;
this.name = name;
}
}



Stream 根据集合内的对象某个属性值进行排序

原文:https://www.cnblogs.com/jw-t/p/15126501.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!