2013-11-09 3 views
3

Я хочу сделать 2D динамический ArrayList пример:Java инициализации 2d ArrayList

[1][2][3] 
[4][5][6] 
[7][8][9] 

и я использовал этот код:

ArrayList<ArrayList<Integer>> group = new ArrayList<ArrayList<Integer>>(); 
     group.add(new ArrayList<Integer>(1, 2, 3)); 

, как я должен инициализировать этот ArrayList?

+0

Инициализировать ArrayList как в? –

ответ

3

Если нет необходимости внутренних списков, чтобы быть конкретны ArrayList с, один из способов сделать такую ​​инициализацию в Java 7 будет выглядеть следующим образом:

ArrayList<List<Integer>> group = new ArrayList<List<Integer>>(); 
group.add(Arrays.asList(1, 2, 3)); 
group.add(Arrays.asList(4, 5, 6)); 
group.add(Arrays.asList(7, 8, 9)); 
for (List<Integer> list : group) { 
    for (Integer i : list) { 
     System.out.print(i+" "); 
    } 
    System.out.println(); 
} 

Demo on ideone.

+0

это работает, но как это показать? Итератор it = ArrayList.iterator(); while (it.hasNext()) { Integer a = it.next(); System.out.println (a); } – user2458768

+0

@ user2458768 Посмотрите на код, который печатает массив (посмотрите обновленную демоверсию, чтобы увидеть, как она работает на ideone). – dasblinkenlight

+0

решил, спасибо;) – user2458768

0

Применение

group.add(new ArrayList<Integer>(Arrays.asList(1, 2, 3))); 

ArrayList имеет параметр Collection в конструктор.

Если определить group в

List<List<Integer>> group = new ArrayList<>(); 
group.add(Arrays.asList(1, 2, 3)); 
Смежные вопросы