Gönderen Java 1.6 Koleksiyonu Çerçeve belgeler :
Herhangi bir değişiklik işlemleri (örneğin desteklemeyen Koleksiyonları
add,removeveclear) olarak adlandırılır değiştirilemez . [...] Ek olarak Koleksiyon nesnesinde hiçbir değişikliğin görünür olmayacağını garanti eden koleksiyonlar, değişmez olarak adlandırılır .
İkinci kriter kafamı biraz karıştırıyor. İlk koleksiyon değiştirilemez olduğu ve orijinal koleksiyon referansının elden çıkarıldığı varsayıldığında, ikinci satırda atıfta bulunulan değişiklikler nelerdir? Koleksiyonda tutulan öğelerdeki değişikliklere, yani öğelerin durumuna mı atıfta bulunuyor?
İkinci soru:
Bir koleksiyonun değişmez olması için, belirtilen ek garantilerin sağlanması nasıl yapılır? Koleksiyondaki bir öğenin durumu bir iş parçacığı tarafından güncellenirse, durumdaki bu güncellemelerin değişmez koleksiyonu tutan iş parçacığında görünmemesi değişmezlik için yeterli midir?
Bir koleksiyonun değişmez olması için, belirtilen ek garantilerin sağlanması nasıl yapılır?
newCol = oldCol.add("element")1 eleman daha eski olanın kopyası olan yeni koleksiyon üretecek ve tüm referanslaroldColaynı değişmemiş eski koleksiyona işaret edecektir.