如何使用值声明ArrayList?

时间:2014-02-11 08:36:46

标签: java arraylist initialization declare

ArrayList or List declaration in 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 个答案:

答案 0 :(得分:350)

在Java 10+中你可以这样做:

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

使用Stream的Java 8:

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

当然,您可以使用接受Collection的构造函数创建新对象:

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

提示:docs包含非常有用的信息,通常包含您正在寻找的答案。例如,以下是ArrayList类的构造函数:

答案 1 :(得分:26)

使用:

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");

答案 2 :(得分:23)

你可以这样做:

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

答案 3 :(得分:11)

Guava library包含创建列表和其他集合的便捷方法,这使得它比使用标准库类更漂亮。

示例:

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

(这假定为import static com.google.common.collect.Lists.newArrayList;

答案 4 :(得分:8)

试试这个!

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

如果您不必调用特定方法,则使用接口ArrayList声明List是一个好习惯。

答案 5 :(得分:6)

使用这个:

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