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

认证0级讲师

répondre à tous(3)
PHPzhong

Bonjour, dans le cas de flux non simultanés, l'ordre de traitement de la méthode map du flux dépend de l'ordre dans lequel le flux traite actuellement la collection en amont. L'ordre de ArrayList est par défaut l'ordre naturel (insertion). ordre), donc la collection ArrayList est convertie en flux. La méthode map traite les éléments de la collection dans l'ordre naturel.

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

mapLa cartographie, cela n'a rien à voir avec le tri.

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 ne garantit pas la commande, streamp garantit la commande

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal