如何将项添加到数组列表数组中

时间:2014-11-06 06:48:09

标签: java

我试图将字符串添加到数组列表数组中。

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
    test[0].add("Hello World!");

执行上面的代码时,抛出空指针异常。任何想法如何运作?

4 个答案:

答案 0 :(得分:1)

你使用了错误的语法

它应该像这样工作

ArrayList<String>[] arrayList = new ArrayList[2];
arrayList[0] = new ArrayList<String>();
arrayList[0].add("Hello World");

答案 1 :(得分:1)

用于创建ArrayList数组。你必须做以下

ArrayList[] test =  new ArrayList[2];// create array with all elements null
    for(int i=0; i<2;i++)
    {
        test[i] = new ArrayList<String>(); // initialize each element with ArrayList object
    }
    test[0].add("Hello World!");

答案 2 :(得分:1)

您的代码为空指针,因为数组'test'仅包含ArrayList类型的空引用。您的构造仅创建阵列存储,而不是列表存储。这一点很重要,对于任何对象数组(或集合集合)都是一样的。

例如,以下将包含3个包含null的单元格。

Integer[] foo new Integer[3]

您需要先实例化一个列表,然后才能添加它。

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];

test[0] = new ArrayList<String>();
test[0].add("Hello World!");

答案 3 :(得分:0)

每次尝试添加到列表中时,都应该创建一个新数组

String[] test= new String[2];    
ArrayList<String[]> test= new ArrayList<String[]>();    
t2[0]="0";
t2[1]="0";
test.add(t2); 

在上面的示例中,您将test数组对象的引用传递给list.On .add()方法

或同样的事情也可以通过以下方式在一个声明中完成,

ArrayList<String>[] test = (ArrayList<String>[]) new ArrayList[2];
test.add(new String[] {"0", "0"});

<强>更新

如果你正在尝试创建arraylist数组,请看这里,

Create an Array of Arraylists