Java 中 Set 的 6 种遍历方式 及 性能对比

# Set 没有fori循环 的遍历方式

# iterator for 循环
for (Iterator<Integer> iterator = set.iterator(); iterator.hasNext(); ) {
    
    
    iterator.next();
}

# iterator while 循环
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext()) {
    
    
    iterator.next();
}

# for Boost 循环
for (int item : set) {
    
    
}

# list.forEach 循环
set.forEach(item -> {
    
    
});

# list.stream().forEach 循环
set.stream().forEach(item -> {
    
    
});

# list.parallelStream().forEach 循环
set.parallelStream().forEach(item -> {
    
    
});

性能比较

每种循环各遍历50000000次 total cost time = 1475 ms

iterator for 循环                          : 296 ms, 20.07%
iterator while 循环                        : 300 ms, 20.34%
for Boost 循环                             : 296 ms, 20.07%
list.forEach 循环                          : 297 ms, 20.14%
list.stream().forEach 循环                 : 195 ms, 13.22%
list.parallelStream().forEach 循环         : 88 ms, 5.97%

猜你喜欢

转载自blog.csdn.net/weixin_37646636/article/details/132701968