Back to questions
СБЕР
Junior — Middle
64
Каким образом можно создать копию коллекции, чтобы она стала неизменяемой, используя метод clone?
Companies where asked
Answer from AI
sobes.tech AI
В Java метод clone() используется для создания поверхностной копии объекта. Чтобы сделать коллекцию неизменяемой после клонирования, можно выполнить следующие шаги:
- Создать копию коллекции с помощью
clone()(если коллекция поддерживает этот метод). - Обернуть полученную копию в неизменяемую оболочку с помощью методов из
Collections.
Пример для списка:
import java.util.*;
ArrayList<String> original = new ArrayList<>();
original.add("A");
original.add("B");
// Клонируем
ArrayList<String> cloned = (ArrayList<String>) original.clone();
// Делаем неизменяемым
List<String> unmodifiableList = Collections.unmodifiableList(cloned);
// Теперь unmodifiableList нельзя изменить
// unmodifiableList.add("C"); // выбросит UnsupportedOperationException
Таким образом, clone() создаёт копию, а Collections.unmodifiableXXX() делает её неизменяемой.