Java 8 parallelStream forEach迭代

时间:2018-08-02 11:23:07

标签: foreach java-8

在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);
    });

0 个答案:

没有答案