Подтвердить что ты не робот

Как объявить ArrayList со значениями?

Объявление ArrayList или List в Java опросило и ответило, как объявить пустой ArrayList, но как я могу объявить ArrayList со значениями?

Я пробовал следующее, но он возвращает синтаксическую ошибку:

import java.io.IOException;
import java.util.ArrayList;

public class test {
    public static void main(String[] args) throws IOException {
        ArrayList<String> x = new ArrayList<String>();
        x = ['xyz', 'abc'];
    }
}
4b9b3361

Ответ 1

В Java 9+ вы можете сделать:

var x = List.of("xyz", "abc");

Java 8 с использованием Stream:

Stream.of("xyz", "abc").collect(Collectors.toList());

И, конечно, вы можете создать новый объект, используя конструктор, который принимает Collection:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

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

  • ArrayList()

    Создает пустой список с начальной емкостью десять.

  • ArrayList(Collection<? extends E> c) (*)

    Создает список, содержащий элементы указанной коллекции, в том порядке, в котором они возвращаются итератором коллекции.

  • ArrayList(int initialCapacity)

    Создает пустой список с указанной начальной емкостью.

Ответ 2

Использование:

List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));

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

List<String> x = Arrays.asList("xyz", "abc");

Примечание: вы также можете использовать статический импорт, если хотите, тогда он выглядит так:

import static java.util.Arrays.asList;

...

List<String> x = new ArrayList<>(asList("xyz", "abc"));

или

List<String> x = asList("xyz", "abc");

Ответ 3

Вы можете сделать следующее:

List<String> temp = new ArrayList<String>(Arrays.asList("1", "12"));

Ответ 4

библиотека Guava содержит удобные методы для создания списков и других коллекций, что делает это намного красивее, чем использование стандартных классов библиотеки.

Пример:

ArrayList<String> list = newArrayList("a", "b", "c");

(Это предполагает import static com.google.common.collect.Lists.newArrayList;)

Ответ 5

Попробуйте это!

List<String> x = new ArrayList<String>(Arrays.asList("xyz", "abc"));

Хорошей практикой является объявление ArrayList с интерфейсом List, если вам не нужно ссылаться на определенные методы.

Ответ 6

Используйте это:

ArrayList<String> x = new ArrayList(Arrays.asList("abc", "mno"));