Java Değişmez Koleksiyonları
Java 1.6 Collection Framework documentation:
Herhangi bir değişiklik işlemleri desteklemeyen koleksiyonları (
add
,remove
clear
) olarak adlandırılırdeğiştirilemeyen. [...] Koleksiyon bir değişiklik yok, bu nesne ayrıca garanti koleksiyonları hiç olarak görülebilirdeğişmez.
İkinci ölçüt bana biraz karıştırır. İlk koleksiyonu değiştirilemeyen ve özgün koleksiyon referans uzak bertaraf edildiğini varsayarak düşünürsek, ne ikinci satırında anılan değişiklikler? Elementlerin devlet ıe öğeleri koleksiyonu yapılan değişiklikler dir?
İkinci soru:
Bir toplama değişmez olmak için nasıl bir ek guarentees belirtilen sağlanması? Eğer Bu koleksiyon bir öğe durumuna bir iş parçacığı tarafından güncelleştirildi, Devlet bu güncelleme iplik değişmez toplama tutarak görünmeyen değişmezliğini tanıdı için yeterli mi?
Edit : (ikinci soru odak vurgulama) :
Bir toplama değişmez olmak için nasıl bir ek guarentees belirtilen sağlanması?
CEVAP
Fark değişiklik sağlayan değişmez bir koleksiyon için bir referans olabilir. Değiştirilemeyen koleksiyonları değiştirilemeyenbu başvuru yoluylabaşka bir nesne ile değiştirilebilir, aynı verileri işaret edebilir , ama.
örneğin
List<String> strings = new ArrayList<String>();
List<String> unmodifiable = Collections.unmodifiableList(strings);
unmodifiable.add("New string"); // will fail at runtime
strings.add("Aha!"); // will succeed
System.out.println(unmodifiable);
Java dize gerçekten değişmez mi?...
Yazdırma Java Koleksiyonları Güzel (...
Neden't Java Koleksiyonları yönte...
Bir karakter değişmez kaçtı sayıda Jav...
Yineleme Java koleksiyonları üzerinde ...