Heim > Java > javaLernprogramm > Wie teile ich eine ArrayList in mehrere kleinere ArrayLists in Java auf?

Wie teile ich eine ArrayList in mehrere kleinere ArrayLists in Java auf?

Barbara Streisand
Freigeben: 2024-11-25 03:22:11
Original
289 Leute haben es durchsucht

How to split an ArrayList into multiple smaller ArrayLists in Java?

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]"
Nach dem Login kopieren

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!)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage