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接口自定义排序规则,按照给定属性的差值进行排序,达到指定时间优先排队的目的。
排序完成后,输出结果如下:
232221...701...
以上就是Java Stream自定义排序:如何实现8:00-23:00时间段优先排序?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/182789.html
微信扫一扫
支付宝扫一扫