Инициализация ArrayList с заданными значениями в Java

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если вам нужен быстрый способ, вот так можно инициализировать ArrayList:

Блок инициализации:

Java
Скопировать код
ArrayList<String> list = new ArrayList<String>() {{
    add("A"); add("B"); add("C"); 
}};

Arrays.asList:

Java
Скопировать код
ArrayList<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));

Оба метода создадут ArrayList с элементами "A", "B", и "C".

Кинга Идем в IT: пошаговый план для смены профессии

Разбираемся в способах объявления ArrayList

Давайте рассмотрим различные способы объявления списков на понятных примерах кода.

Java 9+ и Java 8: Преимущества последних версий

В Java 9+ появилась возможность создавать неизменяемые списки с помощью List.of():

Java
Скопировать код
List<String> list = List.of("A", "B", "C");

В Java 8 можно использовать Stream для создания изменяемых списков:

Java
Скопировать код
List<String> list = Stream.of("A", "B", "C").collect(Collectors.toList());

Создаем изменяемый список

Используйте ArrayList для создания списка, который в дальнейшем можно будет модифицировать:

Java
Скопировать код
List<String> list = new ArrayList<>(Arrays.asList("A", "B", "C"));

Упрощаем код через статический импорт и Guava

Статический импорт позволяет использовать asList напрямую:

Java
Скопировать код
import static java.util.Arrays.asList;

ArrayList<String> list = new ArrayList<>(asList("A", "B", "C"));

Для более лаконичного кода используйте Guava:

Java
Скопировать код
import com.google.common.collect.Lists;

List<String> list = Lists.newArrayList("A", "B", "C");

Использование обобщений для типовой безопасности

Обобщенные типы предоставляют типовую безопасность:

Java
Скопировать код
ArrayList<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3));

Выбор между изменяемыми и неизменяемыми списками

List.of() обеспечивает неизменяемость, в то время как ArrayList — гибкость в изменениях.

Указание начальной емкости списка

Если вы знаете предполагаемый размер списка, укажите начальную емкость:

Java
Скопировать код
ArrayList<String> listWithCapacity = new ArrayList<>(50);

Подробнее о методах объявления списков

Рассмотрим детальнее инициализацию списков на примерах.

Преобразование массива в список

Самый простой способ превратить массив в список:

Java
Скопировать код
String[] array = {"A", "B", "C"};
List<String> listFromArray = Arrays.asList(array);

Использование интерфейса List

Для более общего случая можно использовать интерфейс List:

Java
Скопировать код
List<String> list = new ArrayList<>();

Осторожно с неизменяемыми списками

Нельзя изменять неизменяемые списки, чтобы избежать исключений. Используйте изменяемые варианты для работы с коллекциями.

Визуализация

Объявление ArrayList подобно подготовке набора инструментов 🧰.

Java
Скопировать код
ArrayList<String> tools = new ArrayList<>(Arrays.asList("Молоток", "Гаечный ключ", "Отвертка"));

Так ваш комплект выглядит готовым к работе:

РольИнструмент 🔧
Молоток
🔧Гаечный ключ
🪛Отвертка

Теперь можно приступить к кодированию! 🛠✨

Полезные материалы

  1. ArrayList (Java Platform SE 8) — официальная документация по ArrayList в Java.
  2. Инициализация ArrayList в одну строку – Stack Overflow — обсуждения и советы сообщества по инициализации ArrayList.
  3. ArrayList в Java – GeeksforGeeks — базовые и детальные сведения о ArrayList на примерах с пояснениями.
  4. Java – Коллекции — введение в коллекции Java.
  5. [Java Generics and Collections [Книга]](https://www.oreilly.com/library/view/java-generics-and/0596527756/) — общий обзор обобщений и коллекций в Java.
  6. Путь: Коллекции (Руководство Java™) — подробное руководство по коллекциям, включая ArrayList, от Oracle.