java HashMap hızlı davranışını başarısız.Ben <code>fail-fast</code> davranış ne olduğunu öğrenmek için <code>java.util.HashMap</code> etrafında oynanan
HashMap map = new HashMap();
map.put("jon", 10);
map.put("sean", 11);
map.put("jim", 12);
map.put("stark", 13);
map.put("vic", 14);
Set keys = map.keySet();
for(Object k:keys) {
System.out.println(map.get(k));
}
for(Object k:keys) {
String key =(String)k;
if(key.equals("stark")) {
map.remove(key);
}
}
System.out.println("after modifn");
for(Object k:keys) {
System.out.println(map.get(k));
}
Ben
12
11
10
14
13
after modifn
12
11
10
14
Ben de her iki durumda da herhangi ConcurrentModificationException
alamadım bu bir yineleyici
Iterator<String> itr = keys.iterator();
while(itr.hasNext()) {
String key = itr.next();
if(key.equals("stark")) {
map.remove(key);
}
}
..Is kullanarak çalıştı sonucu aldığım çünkü (javadoc itibaren)
bir ITERA ait başarısız hızlı davranış tor olduğu gibi genel olarak konuşursak , imkansız Eşitlenmemiş eşzamanlı değişiklik varlığında herhangi bir sabit teminat yapmak için garanti edilemez. Fail-hızlı yineleyiciler Ben, bu ..what sizce
ConcurrentModificationException
atmak OLACAK diyor başka thread kontrol bir en iyisi esasına
üzerine ConcurrentModificationException atmak? Eğer göstermiştir çıktı Verilen
aramayı deneyin 'ziyade kaldırmak' den() 'berrak()'. – Bringer128