2016-04-27 2 views
0

Я должен использовать 10 ArrayLists для проекта, вместо того, чтобы создавать 10 отдельных arraylists. Мне сказали использовать: ArrayList<ArrayList<Integer>> lists = new ArrayList<>(); и создать 10 массивов для использования: for(int i=0;i<10;i++){ lists.add(new ArrayList<Integer>());ArrayList of Arraylits

Я никогда не изучал аррайалистов внутри arraylist, так что это очень ново для меня. Как получить доступ к массивам внутри массива? У них нет имени, которое я могу видеть, чтобы получить доступ, так как я могу назвать каждого отдельного arraylist?

+0

Как бы вы получить любой элемент в списке? –

+0

Мне просто нужно знать, как получить доступ к каждому создаваемому arraylist для проекта, я даже не знаю, как назвать одного из внутренних arraylists. Я знаю, как использовать arraylists и методы, я просто не понимаю, как получить доступ к ним в более крупном arraylist. –

+1

Просто подумайте, что у вас есть список объектов. Каждый из этих объектов является другим списком. Если вы знаете, как использовать один список, то использование внутреннего должно быть легким –

ответ

2

Чтобы добавить номер к списку в списке списков, вы должны указать его по своему индексу, то вы можете add.

lists.get(0).add(42); 
4

Вы можете создать arraylist arraylists, как показано в приведенном ниже коде. Если вы хотите получить доступ ко всем спискам внутренних массивов, просто используйте для каждого цикла. Если вы хотите определенный список (список массив упорядочен) просто использовать индекс (оба способа приведены в примере ниже):

ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>(); 
ArrayList<String> firstList = new ArrayList<String>() {{ 
    add("A"); 
    add("B"); 
    add("C"); 
}}; 

ArrayList<String> secondList = new ArrayList<String>() {{ 
    add("D"); 
    add("E"); 
    add("F"); 
}}; 


listOfLists.add(firstList); 
listOfLists.add(secondList); 

//access all inner lists 
for(ArrayList<String> innerList:listOfLists) { 
    System.out.println("INNER LIST --> "+innerList); 
} 

//access specific list 
System.out.println(listOfLists.get(1)); 
2

Предположим, вы хотите получить доступ к некоторым индексом конкретного ArrayList внутри ArrayList из ArrayList

eg

arrayListOfarrayList.get(indexOfArrayList).get(indexOfElement); 

Если вы хотите добавить что-то

arrayListOfarrayList.get(indexOfArrayList).add(yourElement); 

Вы можете обратиться к ArrayList API документацию для получения более подробной информации https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

+0

Это должно быть 'arrayListOfarrayList.get (indexOfArrayList) .add (element);' – Ambrish

+0

Спасибо, что указали это. Я обновил это :) –

Смежные вопросы