Maison >Java >javaDidacticiel >Comment puis-je combiner efficacement deux listes en Java ?

Comment puis-je combiner efficacement deux listes en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-08 20:28:10802parcourir

How Can I Efficiently Combine Two Lists in Java?

Joindre efficacement deux listes en Java

Combiner plusieurs listes en une seule collection est une tâche courante en Java. Bien que le segment de code fourni utilisant addAll() soit fonctionnel, il implique la création d'une nouvelle liste et l'itération sur les deux listes d'origine, ce qui peut s'avérer inefficace pour les grands ensembles de données.

Java 8 et versions ultérieures :

Pour Java 8 et les versions ultérieures, une approche plus concise et efficace consiste à exploiter les flux Java :

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream())
                             .collect(Collectors.toList());

Ce code crée un nouveau flux en concaténant les flux des deux listes et collecte les éléments dans une nouvelle liste nommée newList. Il préserve les listes d'origine et effectue l'opération paresseusement, minimisant la consommation de mémoire et améliorant les performances.

Java 16 et versions ultérieures :

En Java 16 et versions ultérieures, une version simplifiée de la solution basée sur le flux peut être utilisée :

List<String> newList = Stream.concat(listOne.stream(), listTwo.stream()).toList();

Ce code utilise la méthode toList() introduite en Java 16, qui crée une nouvelle liste directement à partir du flux sans avoir besoin d'un collecteur explicite.

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!

Déclaration:
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