2013-05-22 4 views
-2

им возникают проблемы, делая массив ArrayLists, Heres это код:
'ArrayList<Integer>[] solucao= new ArrayList[6];' и используя этот код ниже:Массив ArrayLists

  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. Кто-нибудь знает, как его решить?

Im ищет структуру данных array of arraylists, так как каждая позиция array[i] вернет мне arraylist of integers.

спасибо

+0

вы можете проверить здесь http://stackoverflow.com/questions/10227201/initialize-an-array-of-arraylist быть точным ArrayList [] solucao = (ArrayList []) новый ArrayList [10 ]; – GustyWind

ответ

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<>(); 
+0

В действительности это не должно быть 'new ArrayList [6]'. Кроме того, для каждого цикла для заданий не работает. – Zong

+0

@ZongLi re. во-вторых, да, вы правы, плохая ошибка с моей стороны. число рейнольдса во-первых, на самом деле? Я должен узнать, как работают шаблоны + массивы. – djechlin

3

Вы должны инициализировать каждый ArrayList в массиве.

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

Я действительно думал, что у вас не может быть массив ArrayList. Видимо, вы можете, но это должно быть не общее. Вероятно, вам следует пересмотреть, почему вы это делаете ...

0

Массивы - это просто указатели или ссылки. Для каждого из них вы должны создать новый объект ArrayList и сохранить в нем свои данные.

List[] solucao= new ArrayList[5]; 
for(int i=0;i<solucao.length;i++) 
{ 
    solucao[i] = new ArrayList(); 
    solucao[i].add(yourObject); 
} 
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()); 
} 
Смежные вопросы