这里新建一个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对象集合的某个属性进行排序的详细内容。更多信息请关注PHP中文网其他相关文章!
声明
本文转载于:CSDN。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
3 周前ByDDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
2 周前ByDDD
在哪里可以找到原子中的起重机控制钥匙卡
3 周前ByDDD
<🎜>:死铁路 - 如何完成所有挑战
4 周前ByDDD
Atomfall指南:项目位置,任务指南和技巧
1 个月前ByDDD

热工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Atom编辑器mac版下载
最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3汉化版
中文版,非常好用

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。