Maison > Java > javaDidacticiel > le corps du texte

Comment diviser une ArrayList en ArrayLists plus petites en Java ?

DDD
Libérer: 2024-11-15 03:39:02
original
468 Les gens l'ont consulté

How to Split an ArrayList into Smaller ArrayLists in Java?

Diviser une ArrayList en ArrayList plus petites en Java

Diviser une grande ArrayList en plusieurs ArrayLists plus petites est essentiel dans divers scénarios de programmation. Pour y parvenir en Java, vous pouvez utiliser la méthode subList(int fromIndex, int toIndex).

Méthode subList

La méthode subList vous permet d'obtenir une partie de la liste originale. Il crée une vue de la plage d'éléments spécifiée, allant de fromIndex jusqu'à toIndex sans inclure.

Exemple d'utilisation

Pour illustrer, considérons le code suivant :

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]"
Copier après la connexion

Création de sous-listes non vues

Si vous exigez que les listes découpées soient des non-vues, créez simplement de nouvelles listes à partir des sous-listes. Voici un exemple :

// 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]]"
Copier après la connexion

Cette méthode renvoie une liste de sous-listes non affichées, vous permettant de les modifier sans affecter la liste d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal