我无法制作一系列的arraylists,heres的代码是:'ArrayList<Integer>[] solucao= new ArrayList[6];'
并使用以下代码:
solucao[0].add(1);
solucao[0].size();
solucao[1].size();
solucao[1].add(1);
solucao[2].size();
solucao[2].add(1);
solucao[3].size();
solucao[3].add(1);
solucao[4].size();
solucao[4].add(1);
solucao[5].size();
solucao[5].add(1);
solucao[6].size();
solucao[6].add(1);
solucao[7].size();
solucao[7].add(1);
所有调用大小的调用null
。任何人都知道如何解决它?
我正在寻找array of arraylists
的数据结构,因为每个array[i]
位置都会返回arraylist of integers
。
谢谢
答案 0 :(得分:3)
您必须初始化数组中的每个ArrayList
。
ArrayList[] solucao = new ArrayList[6];
for (int i = 0; i < solucao.length; i++)
solucao[i] = new ArrayList();
我实际上认为你不能拥有ArrayList
数组。显然你可以,但它必须是非通用的。你应该重新考虑为什么要这样做......
答案 1 :(得分:0)
ArrayList<Integer>[] solucao= new ArrayList[6];
应为new ArrayList<Integer>[6]
请注意,IDE会向您发出警告。接下来,初始化数组的每个元素(Java 7):
for(int i = 0; i < solucao.length; i++) {
solucao[i] = new ArrayList<>();
答案 2 :(得分:0)
数组只是指针或引用。对于每个人,你必须创建一个新的ArrayList对象并将数据存储在其中。
List[] solucao= new ArrayList[5];
for(int i=0;i<solucao.length;i++)
{
solucao[i] = new ArrayList();
solucao[i].add(yourObject);
}
答案 3 :(得分:0)
首先,您必须创建对象。
ArrayList<Integer>[] ls = new ArrayList[7];
for (int i = 0; i < ls.length; i++) {
ls[i] = new ArrayList<Integer>();
for(int j = 0 ; j<i ;j++){
ls[i].add(j);
}
System.out.println(ls[i].size());
}