Junior — Middle
Çok iş parçacıklı ortamda koleksiyonlarla çalışırken ConcurrentModificationException istisnasını önlemek için hangi yöntemler kullanılabilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Çok iş parçacıklı ortamda koleksiyonlarla çalışırken ConcurrentModificationException istisnasını önlemek için aşağıdaki yöntemler kullanılabilir:
java.util.concurrentpaketinden thread-safe koleksiyonlar kullanmak, örneğin,ConcurrentHashMap,CopyOnWriteArrayList.- Koleksiyona erişimi manuel olarak
synchronizedblokları veya diğer senkronizasyon mekanizmalarıyla senkronize etmek. - Güvenli modifikasyonu destekleyen iteratörler kullanmak, örneğin, listeler için
ListIterator. - Döngü sırasında orijinal koleksiyonu değiştirmemek için koleksiyonların kopyalarını oluşturmak (örneğin,
new ArrayList<>(originalList)kullanarak).
CopyOnWriteArrayList kullanım örneği:
CopyOnWriteArrayList<String> liste = new CopyOnWriteArrayList<>();
liste.add("item1");
for (String item : liste) {
liste.add("item2"); // ConcurrentModificationException hatası vermez
}