
排序()
sorted() 方法用于对流的元素进行排序。它根据元素的自然顺序或自定义比较器对元素进行排序。
主要特征:
返回已排序的元素流。
不消除重复项(它保留所有元素)。
可以使用自然排序或自定义比较器。
示例 1:自然排序
list<integer> numbers = list.of(4, 2, 3, 1, 4);
list<integer> sortedlist = numbers.stream()
.sorted()
.collect(collectors.tolist());
system.out.println(sortedlist); // output: [1, 2, 3, 4, 4]
示例 2:自定义订购
list<string> names = list.of("charlie", "alice", "bob");
list<string> sortednames = names.stream()
.sorted((a, b) -> b.compareto(a)) // reverse order
.collect(collectors.tolist());
system.out.println(sortednames); // output: [charlie, bob, alice]
2。不同()
立即学习“Java免费学习笔记(深入)”;
distinct() 方法用于从流中删除重复元素。它仅根据 equals() 方法的结果保留唯一元素。
主要特征:
示例:删除重复项
list<integer> numbers = list.of(4, 2, 3, 1, 4);
list<integer> distinctlist = numbers.stream()
.distinct()
.collect(collectors.tolist());
system.out.println(distinctlist); // output: [4, 2, 3, 1]
结合sorted()和distinct()的示例
您可以同时使用这两种方法,首先删除重复项,然后对剩余元素进行排序。
List<Integer> numbers = List.of(4, 2, 3, 1, 4);
List<Integer> result = numbers.stream()
.distinct() // Remove duplicates
.sorted() // Sort the unique elements
.collect(Collectors.toList());
System.out.println(result); // Output: [1, 2, 3, 4]
何时使用每个?
以上就是Java 流 |流中的sorted()和distinct()有什么区别?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号