Часто при разработке на Java возникает необходимость создания и инициализации списков. Это может быть полезно, например, при создании списка параметров для тестирования или списка значений по умолчанию.
Обычным подходом к инициализации списка является создание экземпляра класса ArrayList и последующее добавление в него элементов с помощью метода add()
. Исходный код может выглядеть следующим образом:
ArrayList<String> cities = new ArrayList<String>(); cities.add("Moscow"); cities.add("Saint Petersburg"); cities.add("Novosibirsk");
Однако, этот подход может быть неэффективным, особенно когда требуется добавить большое количество элементов. В этом случае предпочтительнее использовать более компактный и удобный способ инициализации списка — с помощью метода Arrays.asList()
, который возвращает список, заполненный переданными ему элементами:
ArrayList<String> cities = new ArrayList<String>( Arrays.asList("Moscow", "Saint Petersburg", "Novosibirsk"));
Такой подход позволяет инициализировать список в одну строку, что упрощает чтение кода и делает его более наглядным.
Однако стоит помнить, что возвращаемый методом Arrays.asList()
список имеет фиксированный размер. Это значит, что добавление или удаление элементов в этом списке вызовет UnsupportedOperationException
. Чтобы избежать этого, можно использовать конструктор ArrayList(Collection<? extends E> c)
, который создает новый список, содержащий все элементы из указанной коллекции:
ArrayList<String> cities = new ArrayList<String>( Arrays.asList("Moscow", "Saint Petersburg", "Novosibirsk"));
Таким образом, инициализация ArrayList
в одну строку делает код более чистым и легким для чтения, а также позволяет избежать возможных ошибок при работе со списками в Java.
Добавить комментарий