2016-06-28 6 views
0

В настоящее время я пытаюсь сохранить ArrayList строк в ArrayList массивов строк. Ниже приведено описание того, что я пытаюсь сделать.Добавление ArrayList <String> в ArrayList <ArrayList <String>>

ArrayList<ArrayList<String>> groupCollection= new ArrayList<ArrayList<String>>(); 
ArrayList<String> m_listItems = new ArrayList<String>(); 
groupCollection.add(m_listItems); 

добавить строки в m_listItems используя ту же .add() функциональности и добавляет строку правильно.

Но в отладчике, когда я пытаюсь добавить m_listItems (то есть infact имеют массив значений в нем) в первый индекс groupCollection, он добавляет нулевой массив в первый индекс.

image

+5

Из приведенного примера m_listItems не содержит элементов (size = 0). –

+0

К сожалению, вы действительно имели в виду нулевой массив? Если это так, отмените мое редактирование :) – zapl

+1

Ваш фрагмент создает пустой список, а затем ничего не помещает в него. Вы не должны удивляться тому, что он остается пустым! – Boann

ответ

3

Ваш код хорошо, что это не пустой, просто пустой список массив!

0

Вам необходимо добавить объекты в список m_listitems, m_listitems.add ("foo"); выполните команду groupCollection.add (m_listItems); метод, и вы должны увидеть другой результат.

0

Ответы выше, безусловно, правильные.
Просто добавьте несколько деталей.
Мы создали ArrayList из ArrayList строки с именем groupCollection. И ArrayList называется m_listItems.
Создать другой ArrayList, например n_ListItems. И добавьте строки в ArrayList.

ArrayList<String> m_listItems = new ArrayList<String>(); 
     m_listItems.add("Hello"); 
     m_listItems.add("Welcome"); 
ArrayList<String> n_listItems = new ArrayList<String>(); 
     n_listItems.add("Hi!"); 
     n_listItems.add("Wel.."); 
     n_listItems.add("Come.."); 

Добавить оба списка в groupCollection.

ArrayList<ArrayList<String>> groupCollection= new ArrayList<ArrayList<String>>(); 
     groupCollection.add(m_listItems); 
     groupCollection.add(n_listItems); 

Мы добавили 2 arraylists в наш ArrayList ArrayList of String. Чтобы увидеть работу этой программы, я показываю список, используя Iterator.

Iterator<ArrayList<String>> iterator = groupCollection.iterator(); 
     while(iterator.hasNext()){ 
      System.out.println(iterator.next()); 
     } 

Это даст результат следующим образом.

[Hello, Welcome] 
[Hi!, Wel.., Come..] 

Теперь мы можем четко видеть, как работает эта программа.