查看 Java java.util.stream 包文档,对于在流使用中遵循的最佳实践产生了疑问。考虑到这段代码:
HashMap<Integer,Integer> map = new HashMap<>();
map.put(1,1);
map.put(2,2);
map.put(3,3);
map.put(4,4);
map.keySet().parallelStream().forEach(key -> {
if (key == 3) {
map.put(3,0);
}
});
代码输出是否总是等于 ([1,1],[2,2],[3,0],[4,4])?
map.put(3,0) 可以被视为非干扰操作吗?
map.put(3,0) 可以被视为可接受的副作用吗?
换句话说,上面的代码可以被认为符合流文档中建议的最佳实践吗?
不负相思意
梦里花落0921
LEATH
相关分类