
排序()
sorted() 方法用于对流的元素进行排序。它根据元素的自然顺序或自定义比较器对元素进行排序。
主要特征:
返回已排序的元素流。
不消除重复项(它保留所有元素)。
可以使用自然排序或自定义比较器。
示例 1:自然排序
list numbers = list.of(4, 2, 3, 1, 4);list sortedlist = numbers.stream() .sorted() .collect(collectors.tolist());system.out.println(sortedlist); // output: [1, 2, 3, 4, 4]
示例 2:自定义订购
list names = list.of("charlie", "alice", "bob");list sortednames = names.stream() .sorted((a, b) -> b.compareto(a)) // reverse order .collect(collectors.tolist());system.out.println(sortednames); // output: [charlie, bob, alice]
2。不同()
立即学习“Java免费学习笔记(深入)”;
Word-As-Image for Semantic Typography
文字变形艺术字、文字变形象形字
62 查看详情
distinct() 方法用于从流中删除重复元素。它仅根据 equals() 方法的结果保留唯一元素。
主要特征:
消除流中的重复项。保留元素的原始顺序(稳定)。依赖 equals() 的实现来确定唯一性。
示例:删除重复项
list numbers = list.of(4, 2, 3, 1, 4);list distinctlist = numbers.stream() .distinct() .collect(collectors.tolist());system.out.println(distinctlist); // output: [4, 2, 3, 1]
结合sorted()和distinct()的示例
您可以同时使用这两种方法,首先删除重复项,然后对剩余元素进行排序。
List numbers = List.of(4, 2, 3, 1, 4);List result = numbers.stream() .distinct() // Remove duplicates .sorted() // Sort the unique elements .collect(Collectors.toList());System.out.println(result); // Output: [1, 2, 3, 4]
何时使用每个?
当您想要按特定顺序对元素进行排序时,请使用sorted()。当您想确保流中没有重复项时,请使用distinct()。当您的用例需要删除重复项并对结果元素进行排序时,可以组合使用这两种方法。
以上就是Java 流 |流中的sorted()和distinct()有什么区别?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/947193.html
微信扫一扫
支付宝扫一扫