如何初始化ArrayList的元素?

时间:2011-11-30 10:59:20

标签: java arrays arraylist

如何初始化 ArrayList 的值?

我在互联网上发现了这个,但它不起作用。

ArrayList<Kaart>[] hand = (ArrayList<Kaart>[]) new ArrayList[AANTALSPELERS];

hand的所有元素均为null。因此,我得到nullPointerException。 Kaart是我创建的课程。 AANTALSPELERS 是一个私有静态最终版本。

4 个答案:

答案 0 :(得分:6)

Object s数组的元素初始化为null(就像int数组的初始值为零一样。)

因此,在使用数组元素之前,必须初始化每个元素。

ArrayList[] al = new ArrayList[5];

for( int i = 0; i < al.length; i++ )
    al[i] = new ArrayList();

答案 1 :(得分:3)

这是使用泛型的正确方法。请注意,警告是不可避免的(如果这是一个问题,您可以使用@SuppressWarnings注释):

ArrayList<Kaart>[] array = (ArrayList<Kaart>[]) new ArrayList[AANTALSPELERS];
for (int i = 0; i < AANTALSPELERS; i++)
    array[i] = new ArrayList<Kaart>();

答案 2 :(得分:0)

考虑使用Guava的ListMultimap,其中键是索引。

ListMultimap<Integer, Kaart>

它将为您完成所有列表初始化。

答案 3 :(得分:0)

您创建了ArrayAANTALSPELERS元素,每个元素都可以包含ArrayList

由于您尚未向ArrayList添加任何Array,因此Array将具有默认元素null

您还需要执行以下操作,以Array填充ArrayList

for(int i = 0; i < hand.length; i++)
    hand[i] = new ArrayList();// or the arraylist you have