stream中自定义排序
在java中使用stream时,如果需要自定义排序规则,可以通过以下方式实现:
给定的示例中,要对obj对象集合按time属性排序,其中时间区间8:00~23:00优先排在0:00~7:00之前。
方法一:手动排序
for (int i = 0; i < 8; i++) { for (int index = 0; index < list.size(); index++) { if (list.get(index).gethour() == i) { obj remove = list.remove(index); list.add(remove); } } }
此方法通过循环将指定时间范围内的对象移动到集合的前面。
立即学习“Java免费学习笔记(深入)”;
方法二:使用comparator排序
list.sort((o1, o2) -> o2.gethour() - o1.gethour());
此方法使用comparator接口自定义排序规则,按照给定属性的差值进行排序,达到指定时间优先排队的目的。
排序完成后,输出结果如下:
23 22 21 ... 7 0 1 ...
以上就是Java Stream自定义排序:如何实现8:00-23:00时间段优先排序?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号