2016-02-17 34 views
2

我在另一個Map中有一個Map。我不得不根據條件來優化我的代碼。但編譯器抱怨它。是否有另一種方式得到我想要如何在併發HashMap中分解foreach

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

}); 
+0

你想要做什麼?你的代碼看起來好像還有另一種更好的方式來處理它。 – Tunaki

+0

我使用外部地圖的上下文來存儲對象在內部映射中向上或向下的狀態; s鍵。我想知道是否所有人都倒閉或全部倒閉。或者部分(多於一個)。在部分情況下,我不想進一步循環,想要突圍,那就是我的條件使用if循環打破 – Paul

+0

爲什麼不使用for循環? – Tunaki

回答

1

不能中斷與forEach方法的迭代出來的東西。如果您希望能夠退出循環,則您必須使用傳統的for-each循環在映射的條目集上必須