Aufteilen einer ArrayList in mehrere kleinere ArrayLists in Java
In Java erfordert das Aufteilen einer ArrayList in mehrere kleinere ArrayLists einer bestimmten Größe eine Lösung Dies ermöglicht eine effiziente Portionierung und erstellt möglicherweise nicht sichtbare Unterlisten.
Verwenden subList()
Ein Ansatz besteht darin, die Methode subList(int fromIndex, int toIndex) zu verwenden, um eine Ansicht eines Teils der ursprünglichen Liste zu erhalten. Diese Methode erstellt keine neue Liste, sondern stellt vielmehr einen Verweis auf ein Segment innerhalb der vorhandenen ArrayList bereit.
Beispiel:
List<Integer> numbers = new ArrayList<>(Arrays.asList(5,3,1,2,9,5,0,7)); List<Integer> head = numbers.subList(0, 4); List<Integer> tail = numbers.subList(4, 8); System.out.println(head); // prints "[5, 3, 1, 2]" System.out.println(tail); // prints "[9, 5, 0, 7]"
Erstellen von Nicht- Unterlisten anzeigen
Wenn Sie jedoch möchten, dass die gehackten Listen unabhängig sind und keine Ansicht der ursprünglichen Liste darstellen, können Sie dies tun Erstellen Sie eine neue ArrayList aus der Unterliste.
Beispiel:
// chops a list into non-view sublists of length L static <T> List<List<T>> chopped(List<T> list, final int L) { List<List<T>> parts = new ArrayList<>(); final int N = list.size(); for (int i = 0; i < N; i += L) { parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L)))); } return parts; } List<Integer> numbers = Collections.unmodifiableList(Arrays.asList(5,3,1,2,9,5,0,7)); List<List<Integer>> parts = chopped(numbers, 3); System.out.println(parts); // prints "[[5, 3, 1], [2, 9, 5], [0, 7]]" parts.get(0).add(-1); System.out.println(parts); // prints "[[5, 3, 1, -1], [2, 9, 5], [0, 7]]" System.out.println(numbers); // prints "[5, 3, 1, 2, 9, 5, 0, 7]" (unmodified!)
Das obige ist der detaillierte Inhalt vonWie teile ich eine ArrayList in mehrere kleinere ArrayLists in Java auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!