Как объявить ArrayList со значениями? [дубликат]
этот вопрос уже есть ответ здесь:
- Инициализация ArrayList в одной строке 30 ответов
объявление 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'];
}
}
6 ответов:
вы можете создать новый объект с помощью конструктора, который принимает
Collection
:List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));
Совет: The docs содержит очень полезную информацию, которая обычно содержится ответ, который вы ищете. Например, вот конструкторы
ArrayList
класс:
создает пустой список с начальной емкостью десять.
ArrayList(Collection<? extends E> c)
(*)создает список, содержащий элементы указанной коллекции, в том порядке, в котором они возвращаются итератором коллекции.
ArrayList(int initialCapacity)
создает пустой список с указанной начальной емкостью.
Java 8 решение с использованием
Stream
:Stream.of("xyz", "abc").collect(Collectors.toList());
использование:
List<String> x = new ArrayList<>(Arrays.asList("xyz", "abc"));
если вы не хотите добавлять новые элементы в Список позже, вы также можете использовать (массивы.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");
The гуава библиотека содержит удобные методы для создания списков и других коллекций, что делает это намного красивее, чем использование стандартных классов библиотеки.
пример:
ArrayList<String> list = newArrayList("a", "b", "c");
(предполагается,
import static com.google.common.collect.Lists.newArrayList;
)