2017-01-09 7 views
0

Ich benutze eine variable Klasse, die eine ganze Zahl speichert. Wenn die Ganzzahl 13 ist, müssen 13 Arraylisten erstellt werden. Irgendeine Idee, wie ich das machen würde?Erstellen von x ArrayLists

Dies ist, was in meiner while-Schleife ist:

ArrayList<Integer[]> list + count = new ArrayList<>(); 

Mit folgendem:

ArrayList<ArrayList<Integer>> myLists = new ArrayList<ArrayList<Integer>>(); 

for(int i = 0; i < 4; i++) { 
ArrayList<Integer> newList = new ArrayList<Integer>(); 
myLists.add(newList); 
} 

Lassen Sie uns sagen, dass ich die ganze Zahl 9 gehen in die dritte Array-Liste müssen und die ganze Zahl 3 bis Gehe zur 2. Liste der Arrays. Wie würde ich das tun?

+0

Was sind Sie, indem Sie ein '+' Zeichen auf der linken Seite ein zu erreichen versucht, Zuordnung? Das ist kein legales Java. Erfindest du deine eigene Syntax und hoffst, dass der Compiler es herausfinden kann? – ajb

+0

Ich versuche, mehrere Array-Listen wie oben angegeben zu erhalten. Ich dachte, das + -Zeichen würde die Namen der Array-Liste sein (list1, list2 .. list13) – NeedHelp

+0

Sie können ein Array von 'ArrayList' (' ArrayList [] ') oder eine' ArrayList' von 'ArrayList' (' ArrayList > '). Ich weiß nicht, was 'T' ist. Sie können ein Array von 13 'ArrayLists' erstellen, indem Sie' new ArrayList [13] 'sagen, aber dann müssen Sie jede' ArrayList' in einer Schleife erstellen, da dies ein Array von Nullen sein wird. – ajb

Antwort

1

Was versuchen Sie zu erreichen?

Sie können eine ArrayList von ArrayLists erstellen. So etwas wie:

ArrayList<ArrayList<Integer>> myLists = new ArrayList<ArrayList<Integer>>(); 

for(int i = 0; i < numOfLists; i++) { 
    ArrayList<Integer> newList = new ArrayList<Integer>(); 
    myLists.add(newList); 
} 

So haben Sie myLists mit allen Listen, die Sie erstellt haben.

+0

Nehmen wir an, ich muss jetzt die Integer 3 zur 3. ArrayList hinzufügen. Wie würde ich das tun? – NeedHelp

+0

Direkt nachdem Sie 'newList' initialisiert haben, können Sie folgendes tun: ' newList.add (i + 1) ' – snanda

+0

Woher wissen Sie, welche ArrayList? Wie weiß ich, welche ArrayList newList ist? – NeedHelp

0

Durch Konkatinieren der Variablen, um einen anderen Variablennamen zu machen, ist nicht möglich. Der Compiler sollte dir das schon gesagt haben. Sie können dies erreichen, indem ein anderes ArrayList

List<List<Integer[]>> mainList = new ArrayList<List<Integer[]>>(); 
     for(int i = 0; i < 13; i++){ 

      mainList.add(new ArrayList<Integer[]>()); 
     } 
0

mit der Wenn Sie jede der ArrayList durch einen Namen identifizieren möchten Sie ein Map nutzen könnten.

Map<String, ArrayList<Integer[]>> listsMap = new HashMap<>(); 
for(int i = 0; i < 13; i++){ 
    listsMap.add("list" + i, new ArrayList<>()); 
} 

Dann, wenn Sie eine ganze Zahl auf eine bestimmte Liste hinzufügen müssen können Sie dies tun:

listsMap.get("list3").add(new Integer[]{3});