我在理解以下錯誤時遇到困難。調用putAll時發生ConcurrentModificationException異常
假設你有一個A類中,我實現了以下方法:
Map<Double,Integer> get_friends(double user){
Map<Double,Integer> friends = user_to_user.row(user);
//friends.putAll(user_to_user.column(user));
return friends;}
然後在主我做到以下幾點:
A obj = new A();
Map<Double,Integer> temp = obj.get_friends(6);
嗯,這工作正常。然而,當我取消A類的follwing線:
friends.putAll(user_to_user.column(user));
,我再次運行該程序,它崩潰並引發了我ConcurrentModificationException的。 應當指出的是,我創建的表user_to_user如下:
private HashBasedTable<Double,Double,Integer> user_to_user;//
user_to_user = HashBasedTable.create();
什麼是更令人驚訝的是,當我交換,我填朋友的路上,我的意思是這樣:
Map<Double,Integer> friends = user_to_user.column(user);
friends.putAll(user_to_user.row(user));
然後everyting會正常工作。 有什麼想法?
請按照java命名約定.. – Mik378