Helo, dalam kes strim bukan serentak, susunan pemprosesan kaedah peta strim bergantung pada tertib strim memproses koleksi huluan pada masa ini Susunan ArrayList lalai kepada susunan semula jadi (sisipan pesanan), jadi koleksi ArrayList ditukar kepada aliran Kaedah peta memproses elemen koleksi dalam susunan semula jadi.
// 输出c b a
List<String> a = new LinkedList<String>();
a.add("c");
a.add("b");
a.add("a");
a.stream().map(x -> {
System.out.println(x);
return x;
}).count();
Map<String,String> m = new HashMap<String,String>();
m.put("4","D");
m.put("2","B");
m.put("1","A");
m.put("3","C");
// m.values() 默认顺序为A B C D
// 因此stream map的处理顺序也是 A B C D
m.values().stream().map(x -> {
System.out.println(x);
return x;
}).count();
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.stream().map((Function<String, Object>) s -> s + "1").forEach(System.out::println);
// output:
// A1
// B1
Helo, dalam kes strim bukan serentak, susunan pemprosesan kaedah peta strim bergantung pada tertib strim memproses koleksi huluan pada masa ini Susunan ArrayList lalai kepada susunan semula jadi (sisipan pesanan), jadi koleksi ArrayList ditukar kepada aliran Kaedah peta memproses elemen koleksi dalam susunan semula jadi.
map
Pemetaan, ini tiada kaitan dengan pengisihan.parallelStream tidak menjamin pesanan, streamp menjamin pesanan