您好,欢迎访问一九零五行业门户网

java使用lambda表达式对List对象集合的某个属性进行排序

这里新建一个userinfo对象,用来测试lambda表达式排序,属性如下:
public class userinfo { private int id; private int age; private string name; public userinfo(int id, int age, string name) { this.id = id; this.age = age; this.name = name; } public int getid() { return id; } public void setid(int id) { this.id = id; } public int getage() { return age; } public void setage(int age) { this.age = age; } public string getname() { return name; }测试 public void setname(string name) { this.name = name; }
相关视频教程推荐:java学习
开始造数据,测试下按照年龄大小正序排序:
public static void main(string[] args) { userinfo user1 = new userinfo(1, 20, "赵"); userinfo user2 = new userinfo(2, 25, "钱"); userinfo user3 = new userinfo(3, 23, "孙"); userinfo user4 = new userinfo(7, 16, "李"); userinfo user5 = new userinfo(6, 19, "周"); userinfo user6 = new userinfo(5, 12, "吴"); list<userinfo> userinfolist = new arraylist<>(); userinfolist.add(user2); userinfolist.add(user1); userinfolist.add(user3); userinfolist.add(user4); userinfolist.add(user5); userinfolist.add(user6); //使用lambda表达式对age大小正序排序 userinfolist = userinfolist.stream().sorted(comparator.comparing(userinfo::getage)) .collect(collectors.tolist()); for (userinfo userinfo : userinfolist) { system.out.println(userinfo.tostring()); } }
输出结果如下:
测试按照年龄大小倒序排序:
public static void main(string[] args) { userinfo user1 = new userinfo(1, 20, "赵"); userinfo user2 = new userinfo(2, 25, "钱"); userinfo user3 = new userinfo(3, 23, "孙"); userinfo user4 = new userinfo(7, 16, "李"); userinfo user5 = new userinfo(6, 19, "周"); userinfo user6 = new userinfo(5, 12, "吴"); list<userinfo> userinfolist = new arraylist<>(); userinfolist.add(user2); userinfolist.add(user1); userinfolist.add(user3); userinfolist.add(user4); userinfolist.add(user5); userinfolist.add(user6); //使用lambda表达式对age大小倒序排序,发现就是多加了个reversed()方法 userinfolist = userinfolist.stream().sorted(comparator.comparing(userinfo::getage). reversed()).collect(collectors.tolist()); for (userinfo userinfo : userinfolist) { system.out.println(userinfo.tostring()); } }
输出结果如下:
总结下排序使用方法:
1、按照某个字段正序排序:
userinfolist.stream().sorted(comparator.comparing(userinfo::getage)).collect(collectors.tolist());
2、按照某个字段倒序排序:
userinfolist.stream().sorted(comparator.comparing(userinfo::getage).reversed()).collect(collectors.tolist());
以上各种参数根据自己业务对号入座即可。
相关文章教程推荐:java入门学习
以上就是java使用lambda表达式对list对象集合的某个属性进行排序的详细内容。
其它类似信息

推荐信息