使用创建时提到的值创建ArrayList

时间:2016-12-01 04:44:52

标签: java arrays arraylist

如果我要创建一个数组,并用值初始化它,我会这样做

int[] a = {1,2,3,4,5};

我想对ArrayList做同样的事情,并且有类似

的东西
ArrayList<Integer> al = new ArrayList<Integer>().addAll(Arrays.asList(1,2,3,4,5));

上面的代码行不起作用,我明白了。我想传达我希望实现的目标。有没有办法在Java中执行此操作,而无需执行类似

的操作
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(1);al.add(2);al.add(3);al.add(4);al.add(5);

或者

ArrayList<Integer> alArrayList = new ArrayList<>();
alArrayList.addAll( Arrays.asList( 1,2,3,4,5 ) );

3 个答案:

答案 0 :(得分:2)

使用以Collection作为参数的构造函数。这构造了一个包含指定集合

的元素的列表
ArrayList<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
System.out.println(list);

OR

List<Integer> integers = Arrays.asList(1, 2, 3, 4, 5);

如果你看到Arrays.asList()的实现,它会返回一个包含指定元素的新Arraylist。

@SafeVarargs
@SuppressWarnings("varargs")
public static <T> List<T> asList(T... a) {
    return new ArrayList<>(a);
}

答案 1 :(得分:0)

import java.util.ArrayList;
import java.util.Arrays;

public class Demo{
 public static void main(String[] args) {
    Integer[] a = { 10, 11, 41, 2, 43, 33, 4, 5, 67, 70, 7 };
    ArrayList<Integer> list = new ArrayList<Integer>();
    list.addAll(Arrays.asList(a));
    System.out.println(list);
 }
}

答案 2 :(得分:0)

您可以简单地执行以下操作:

Storage

List<Integer> al = Arrays.asList(1,2,3,4,5);