Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

List.copyOf()

Создаёт неизменяемую копию коллекции в виде списка.

Доступно с: Java 10

Синтаксис

static <E> List<E> copyOf(Collection<? extends E> coll)

Параметры

ПараметрТипОписание
collCollection<? extends E>Коллекция, элементы которой копируются.

Возвращаемое значение

List<E>Неизменяемый список с элементами коллекции.

Примеры

Копия не меняется вместе с оригиналом:

void main() {
    List<String> cart = new ArrayList<>(List.of("tea", "milk"));
    List<String> snapshot = List.copyOf(cart);
    cart.add("bread");
    IO.println(cart);
    IO.println(snapshot);
}

Результат:

[tea, milk, bread]
[tea, milk]

Примечания

Удобно, когда метод возвращает внутренний список класса: вызывающий код получит копию и не сможет её изменить. Если переданная коллекция уже неизменяемая (создана через List.of()), копирование может не выполняться. Элементы null запрещены.

См. также

  • List.of() — Создаёт неизменяемый список из перечисленных элементов.
  • Collections.unmodifiableList() — Возвращает представление списка, которое нельзя изменить.
  • ArrayList — Изменяемый список на основе массива — самая частая реализация `List`.

Вопросы и ответы по теме

В учебнике

  • Списки: List и ArrayList — Списки в Java: ArrayList, добавление, чтение и удаление элементов, неизменяемые списки List.of и списки чисел.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.