À partir de la version 1.6 de Java Cadre de Collecte de la documentation:
Les Collections qui ne prennent pas en charge toutes les opérations de modification (comme
add
,remove
etclear
) sont désignés comme inmodifiable. [...] Les Collections qui, en outre, de garantir qu'aucun changement de l'objet de Collection ne sera jamais visible sont désignés comme immuable.
Le deuxième critère me confond un peu. Compte tenu de la première collection est inmodifiable, et en supposant que l'original de la collection de référence a été disposé à l'écart, quels sont les changements qui sont mentionnés dans la deuxième ligne? Est-il en se référant à des changements dans les éléments de la tenue dans la collection c'est à dire l'état de ces éléments?
Deuxième question:
Pour une collection à être immuable, comment fait-on pour fournir les autres guarentees spécifié? Si l'état d'un élément de la collection est mise à jour par un fil, est-il suffisant pour l'immuabilité que ces mises à jour de l'état ne sont pas visibles sur le thread de la tenue de l'immuable collection?
Edit : (mise en surbrillance du focus de seconde question) :
Pour une collection à être immuable, comment fait-on pour fournir les autres guarentees spécifié?