concurrentmodification

    13熱度

    6回答

    不確定在迭代下面代碼中LinkedHashMap結構時觸發java.util.ConcurrentModificationException的是什麼。使用Map.Entry的方法很好。沒有得到一個很好的解釋,從以前的帖子引發這是什麼。 任何幫助,將不勝感激。 import java.util.LinkedHashMap; import java.util.Map; public class

    1熱度

    2回答

    我正在製作一個分配任務的程序。我有溝通對象的ArrayList像這樣: ArrayList<Workers> 我通過文件工作我的方式,將其劃分爲固定大小的塊和分派到各個工人。我正在使用迭代器來均勻地將塊傳遞給工作人員。通常比工人更多的塊,所以我需要在我的工人周圍和周圍循環。我如何做到這一點,我現在的解決方案使用像這樣的迭代器。 private Worker getNextWorker() {

    1熱度

    3回答

    我正在編寫一個多線程的平臺遊戲。一個線程執行繪畫工作,另一個線程運行遊戲邏輯。我有一個數組列表,兩個線程需要同時訪問。我在我的繪製線程遍歷數組列表中的所有元素,並且在我的另一個線程中,我有時會刪除或添加元素到數組列表中。我得到了一個併發修改異常,但我不明白爲什麼,因爲volatile關鍵字只允許一個線程一次訪問一個變量。 這裏是我的問題的一個例子 我的ArrayList private volat

    0熱度

    4回答

    我有一個方法test(),其中我試圖比較兩個LinkedHashMaps彼此,並通過刪除鍵/值對,如果它在兩個LHM中找到修改其中一個映射的內容。運行此方法時,我不斷收到ConcurrentModificationException。我明白爲什麼我得到異常(因爲我試圖修改正在循環的列表)。但我不確定如何去解決這個問題。到目前爲止,我有此代碼: private void test() { Li

    0熱度

    3回答

    我有一個接收從服務器發送的地圖點的線程,並將這些點添加到MapView。這工作正常,但如果我與MapView交互(例如,放大,平移等),我得到ConcurrentModificationException,所以我怎樣才能允許訪問用戶,而添加點MapView? 02-20 01:44:26.566: E/AndroidRuntime(9448): FATAL EXCEPTION: main 02

    0熱度

    1回答

    我正在開發通過網絡播放的多人蛇遊戲。 它運行良好,但它偶爾會拋出java.util.ConcurrentModification異常。 這是在paintComponent()方法中我的遊戲的主類中拋出的。在此拋出代碼 for (String name : map.keySet()) { if (!map.get(name).gameover) { for (int i =

    1熱度

    3回答

    如果我同時修改一個Java集,我會得到一個ConcurrentModificationException。問題是堆棧跟蹤表明在某個Map迭代器上遇到了修改。我現在明白,Maps是用來在java中實現Sets的,但這些細節在實現中是內部的。我相信內部的Map迭代器異常應該已經被適當地包裝在一個應該被傳回的Set Iterator相關異常中。 我有意義還是我錯過了什麼?我花了兩天的時間試圖在代碼中發現

    2熱度

    2回答

    下面的循環會引發ConcurrentModificationException。它是否應該給出編譯器錯誤。運行時異常的原因是什麼? final List<String> list = new ArrayList<String>(); list.add("AAAAAAAAAAAAA"); for (final String it : list) { System.out.println

    0熱度

    3回答

    我在for(Entry ...)循環中得到一個錯誤,在調用dfs()之後,它會說concurrentmodificationexception。即使visitedOrder與foreach循環無關,我也不知道它爲什麼會發生。這怎麼解決? public TreeMap<Integer, Integer> DFS() { TreeMap<Integer, Integer> stack =

    2熱度

    1回答

    我運行一個單獨的線程代碼(不是UI線程) strains = new ArrayList<Strain>(); for (Breeder b : breeders) { for (Strain s : b.getStrains()) { strains.add(s); } } 它有時會導致ConcurrentModificationException的。 我