Найти тему
81 подписчик

🖥 Понимание различий между методами List.of() и Arrays.asList


▪List.of() — это фабричный метод, впервые представленный в Java 9, который создает неизменяемый список, содержащий указанные элементы. Вот несколько ключевых моментов, на которые вам следует обратить внимание, изучая List.of():Неизменяемость: полученный список неизменен, то есть его размер и элементы не могут быть изменены после создания.

▪Фиксированный размер: список, созданный List.of(), имеет фиксированный размер и не поддерживает добавление или удаление элементов.

▪Нулевые значени: List.of() не допускает нулевых элементов. Если вы попытаетесь добавить null, появится исключение NullPointerException.
Пример использования:

List<String> immutable_list = List.of("apple", "banana", "orange");

Arrays.asList()
Arrays.asList() — это метод, доступный еще в ранних версиях Java, и он предоставляет удобный способ создания изменяемого списка, поддерживаемого массивом.

Рассмотрим его характеристики:

▪Модифицируемость: полученный из Arrays.asList() список можно модифицировать, что позволяет добавлять, удалять или изменять элементы.

▪Поддерживается массивом: список поддерживается исходным массивом, поэтому любые изменения в списке влияют на базовый массив и наоборот.

▪Ограничение фиксированного размера: несмотря на возможность изменения, размер списка, возвращаемого Arrays.asList(), является фиксированным, что предотвращает структурные модификации, такие как добавление или удаление элементов.

▪Нулевые значения: в отличие от List.of(), Arrays.asList() допускает нулевые элементы.

Пример использования:

List<String> mutable_list = Arrays.asList("red", "green", "blue");


1 минута