【发布时间】:2015-06-06 20:33:59
【问题描述】:
是否有一种理智的方法可以从列表(特别是数组列表,但不重要)中获取有序流,该列表中的元素与原始列表中的元素相反?
我正在寻找一种不涉及缓冲任何数据(收集器、另一个列表、数组等,因为它们复制容器是浪费的)或使用 Collections.reverse 的解决方案(因为它修改了列表)。
到目前为止,我在这里看到的最简洁的方法是实现我自己的Spliterator 版本,即ORDERED,并在列表中反向前进,或者实现反向迭代的Iterator,并使用@987654327 @就可以了。
注意这个问题与Java 8 stream reverse order 不同:其他问题询问如何反转流(这在一般情况下是不可能的),并且答案提供以某种方式反转源(我不想这样做) ,然后流式传输该反向源。逆源的成本是O(N),如果可能的话我想尽量避免。
【问题讨论】:
-
本文介绍了几种可能:leveluplunch.com/java/tutorials/…
标签: java java-8 java-stream