Неизменяемые коллекции Java

Из документации Java 1.6 Collection Framework :

Коллекции, которые не поддерживают никаких операций модификации (например, add , ] remove и clear ) называются неизменяемыми . [...] Коллекции, которые дополнительно гарантируют, что никакие изменения в объекте Collection никогда не будут видны, называются неизменяемыми .

Второй критерий меня немного смущает.Учитывая, что первая коллекция не может быть изменена и если исходная ссылка на коллекцию удалена, какие изменения упоминаются во второй строке? Относится ли это к изменениям в элементах, содержащихся в коллекции, то есть к состоянию элементов?

Второй вопрос:
Чтобы коллекция была неизменной, как можно предоставить указанные дополнительные гарантии? Если состояние элемента в коллекции обновляется потоком, достаточно ли для неизменяемости, чтобы эти обновления в состоянии не были видны в потоке, содержащем неизменяемую коллекцию?

Чтобы коллекция была неизменной, как это сделать? пойти о предоставлении указанных дополнительных гарантий?

108
задан Neuron 17 May 2018 в 02:47
поделиться