在forEach中使用parallelStream迭代列表使map中的记录更少。当我使用parallelStream进行迭代并放入HashMap中时,列表中有 3000 个项目,这些记录为我提供了 2963 个记录。参见下面的代码
public static void main(String args[]) {
List<String> list = new ArrayList<>();
for(int i=0;i<3000;i++) {
list.add(String.valueOf(i));
}
Map<String,String> map=new HashMap<>();
list.parallelStream().forEach(s -> {
map.put(s, s);
});
System.out.println("size-->"+map.size());
}
任何人都可以解释它是如何工作的。
注意:如果我使用没有parallelStream的list.forEach,则上面的代码可以正常工作。
list.forEach(s -> {
map.put(s, s);
});