java - Stream.map()方法是保持原有顺序么?还是会重新排序呢?
PHP中文网
PHP中文网 2017-04-18 10:10:56
0
3
1369
PHP中文网
PHP中文网

认证0级讲师

membalas semua(3)
PHPzhong

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();
左手右手慢动作

map Pemetaan, ini tiada kaitan dengan pengisihan.

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
Ty80

parallelStream tidak menjamin pesanan, streamp menjamin pesanan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan