Stream.boxed()是否保留顺序?

时间:2016-02-26 17:57:47

标签: java java-8 java-stream

假设我有一个无限的流。

IntStream istream = IntStream.iterate(0, i -> i + 1).limit(100);
Stream<Integer> boxedStream = istream.boxed();

boxed()方法是否保留顺序?可能是的,但我在文档中找不到它。

1 个答案:

答案 0 :(得分:3)

实际上,每个中间操作都会默认保留订单。唯一的例外是:

  • unordered()删除了排序约束。
  • sorted()更改订单。

如果没有明确指定,您可以假设操作保持订单。即使distinct()保持顺序,但它增加了并行流的复杂性。