我想处理XMLjava对象中的列表.我必须确保按顺序处理所有元素.
因此sequential,stream我应该每次使用我吗?
list.stream().sequential().filter().forEach()
或者只要我不使用并行性就足以使用流?
list.stream().filter().forEach()
我需要连接多个整数数组,并在我这样做时保留元素的顺序.
例如;
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方法并不总是保留原始流的顺序.它是否正确?我还能做些什么来保留原始订单?