相关疑难解决方法(0)

如何确保java8流中的处理顺序?

我想处理XMLjava对象中的列表.我必须确保按顺序处理所有元素.

因此sequential,stream我应该每次使用我吗? list.stream().sequential().filter().forEach()

或者只要我不使用并行性就足以使用流? list.stream().filter().forEach()

java java-8 java-stream

130
推荐指数
2
解决办法
7万
查看次数

Flatmap()方法是否保留了流的顺序?

我需要连接多个整数数组,并在我这样做时保留元素的顺序.

例如;

 final Integer[] arr1= { 1, 3, 2 };
 final Integer[] arr2= { 4, 6, 5 };
 final Integer[] arr3= { 7, 9, 8, 10 };
 final Integer[] arr4= { 11, 13, 12, 15, 14 };
Run Code Online (Sandbox Code Playgroud)

所以当我尝试使用Java 8流将这4个数组组合成一个数组时;

Stream.of(arr1, arr2, arr3, arr4).flatMap(Stream::of).toArray(Integer[]::new); 
Run Code Online (Sandbox Code Playgroud)

这完美地给出了结果;

[1, 3, 2, 4, 6, 5, 7, 9, 8, 10, 11, 13, 12, 15, 14]
Run Code Online (Sandbox Code Playgroud)

但是,我阅读了一些文章和评论,人们声称该flatMap方法并不总是保留原始流的顺序.它是否正确?我还能做些什么来保留原始订单?

java java-8

5
推荐指数
1
解决办法
1505
查看次数

标签 统计

java ×2

java-8 ×2

java-stream ×1