Java流:如何高效地执行“去重和排序”操作?
- 论坛
- Java流:如何高效地执行“去重和排序”操作?
21 浏览
Java流:如何高效地执行“去重和排序”操作?
假设我有一个Stream
,想要获取只有独特元素并且已排序的流。幼稚的方法就是只需按照以下步骤执行:
Stream.of(...) .sorted() .distinct()
或者,也可以换个顺序:
Stream.of(...) .distinct() .sorted()
由于它们的实现实际上不太容易通过JDK的源代码访问,我只是想知道可能的内存消耗和性能影响。或者编写自己的过滤器是否更高效,如下所示?
Stream.of(...) .sorted() .filter(noAdjacentDuplicatesFilter()) public static Predicate