SORU
10 EKİM 2011, PAZARTESİ


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
10 EKİM 2011, PAZARTESİ


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);

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • MrRandomSong

    MrRandomSong

    29 Kasım 2009
  • NYCarspotter

    NYCarspotter

    26 EYLÜL 2011