如何在 concurrentHashMap 中突破 foreach
how to break out foreach in concurrentHashMap
我在另一个地图中有一个地图。我必须根据条件来优化我的 code.But 编译器抱怨它。有没有其他方法可以得到我想要的
AtomicBoolean flag1 = new AtomicBoolean(true);
AtomicBoolean flag2 = new AtomicBoolean(true);
AtomicInteger count = new AtomicInteger(0);
s.getMap.forEach((k,v)->{
v.forEach((k1,v1)-> {
if(v1) flag2.set(false);
else flag1.set(false);
if (count.incrementAndGet() > 1 && ((!flag1.get()) || (!flag2.get()))) {
break;
}
});
您不能使用 forEach
方法中断迭代。如果您想退出循环,您必须在地图的入口集上使用传统的 for-each 循环。
我在另一个地图中有一个地图。我必须根据条件来优化我的 code.But 编译器抱怨它。有没有其他方法可以得到我想要的
AtomicBoolean flag1 = new AtomicBoolean(true);
AtomicBoolean flag2 = new AtomicBoolean(true);
AtomicInteger count = new AtomicInteger(0);
s.getMap.forEach((k,v)->{
v.forEach((k1,v1)-> {
if(v1) flag2.set(false);
else flag1.set(false);
if (count.incrementAndGet() > 1 && ((!flag1.get()) || (!flag2.get()))) {
break;
}
});
您不能使用 forEach
方法中断迭代。如果您想退出循环,您必须在地图的入口集上使用传统的 for-each 循环。