Maison > Java > javaDidacticiel > Comment concaténer des listes en Java sans modifier les originaux ?

Comment concaténer des listes en Java sans modifier les originaux ?

Susan Sarandon
Libérer: 2024-12-01 05:39:14
original
873 Les gens l'ont consulté

How to Concatenate Lists in Java Without Modifying the Originals?

Rejoindre des listes en Java sans modifier les originaux

En Java, combiner plusieurs listes en une nouvelle est une tâche courante. Cependant, l'approche mentionnée dans la question nécessite une modification des listes d'origine, ce qui n'est pas toujours souhaitable.

Concaténation de flux Java 8

Java 8 a introduit l'API Stream , qui fournit un moyen plus concis et immuable de manipuler les collections. Pour la concaténation de listes, vous pouvez utiliser la méthode concat() pour fusionner les flux de deux listes :

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());
Copier après la connexion

Cette méthode crée une nouvelle liste sans altérer les originaux, car elle opère sur des flux qui sont essentiellement des wrappers autour les collections sources.

Java 16 toList() Amélioration

Depuis Java 16 À partir de maintenant, une approche plus simple est disponible en utilisant la méthode toList() mise à jour :

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();
Copier après la connexion

Cela simplifie le code en éliminant le besoin d'une opération collect(), rationalisant ainsi davantage le processus de concaténation de liste.

Bonus : Version JDK 1.3

Pour JDK 1.3, vous pouvez utiliser les éléments suivants technique :

List<String> newList = new ArrayList<String>(listOne.size() + listTwo.size());
newList.addAll(listOne);
newList.addAll(listTwo);
Copier après la connexion

Cette méthode crée une nouvelle ArrayList avec une taille qui peut accueillir les deux listes d'origine, puis ajoute les éléments de chaque liste. Bien que ce ne soit pas aussi concis que les approches basées sur Stream, cela fournit toujours un résultat immuable.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal