Stream.of(a, b, c).parallel().map(Object::toString).iterator();
Run Code Online (Sandbox Code Playgroud)
返回的迭代器是否保证按顺序提供值2,3,4?
我知道toArray()和collect()保证集合的值正确.另外,我不是问如何从迭代器创建流.
这是规范中的疏忽.如果流具有已定义的遭遇顺序,则意图是其Iterator按照遭遇顺序生成元素.如果流没有定义的遭遇顺序,迭代器当然会按某种顺序生成元素,但不会定义该顺序.
我已经提交了错误JDK-8194952来跟踪对规范的更改.
看起来其他人已经爬过足够的实现来表明它确实会产生遇到顺序的元素.此外,我们的流测试依赖于此属性.例如,对toList收集器的测试断言列表中的元素的顺序与从流的迭代器中获得的顺序相同.所以,依靠这种行为可能是安全的,即使它尚未正式指定(尚未).
| 归档时间: |
|
| 查看次数: |
540 次 |
| 最近记录: |