Aufteilen einer ArrayList in mehrere Unterlisten
In Java können Sie eine ArrayList effizient in kleinere, gleich große Unterlisten unterteilen. Dies ist in Szenarien nützlich, in denen Sie Daten in mundgerechten Blöcken verarbeiten oder verwalten müssen.
Verwenden von subList() zum Erstellen von Ansichten
Die subList()-Methode von Mit der ArrayList-Klasse können Sie eine Ansicht eines Teils der Originalliste innerhalb des angegebenen Bereichs erhalten. Aufrufe von subList() erstellen keine neue Liste, sondern geben eine Ansicht in die vorhandene Liste zurück. Alle an der Unterliste vorgenommenen Änderungen werden in der Originalliste widergespiegelt und umgekehrt.
List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)); List<Integer> head = numbers.subList(0, 4); // View from index 0 to index 3 (exclusive) List<Integer> tail = numbers.subList(4, 8); // View from index 4 to index 7 (exclusive)
Erstellen von nicht sichtbaren Unterlisten
Wenn Sie möchten, dass die Unterlisten unabhängig sind der ursprünglichen Liste können Sie explizit neue ArrayList-Objekte aus den Unterlistenansichten erstellen.
List<List<Integer>> chopped = new ArrayList<>(); for (int i = 0; i < numbers.size(); i += L) { List<Integer> sublist = new ArrayList<>( numbers.subList(i, Math.min(numbers.size(), i + L)) ); chopped.add(sublist); }
Dieser Ansatz erstellt tiefe Kopien der Unterliste und stellt sicher, dass Änderungen an den zerhackten Unterlisten keine Auswirkungen auf die Originalliste haben.
Beispielverwendung
Betrachten Sie eine Liste von ganzen Zahlen, die als Zahlen bezeichnet werden und [5, 3, 1, 2, 9, 5, 0, 7] enthalten. Sie können diese Liste mit dem folgenden Code in drei Unterlisten der Größe 3 aufteilen:
List<List<Integer>> choppedLists = chopped(numbers, 3);
Die Variable crushedLists enthält jetzt drei Listen: [[5, 3, 1], [2, 9, 5] , [0, 7]]. Sie können diese Unterlisten weiter ändern, ohne die ursprüngliche Nummernliste zu ändern.
Das obige ist der detaillierte Inhalt vonWie kann man eine ArrayList in Java effizient in mehrere Unterlisten aufteilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!