Maison > Java > javaDidacticiel > Comment puis-je concaténer deux listes Java sans modifier les originaux et en utilisant uniquement le JDK ?

Comment puis-je concaténer deux listes Java sans modifier les originaux et en utilisant uniquement le JDK ?

Patricia Arquette
Libérer: 2024-12-15 06:02:14
original
485 Les gens l'ont consulté

How Can I Concatenate Two Java Lists Without Modifying the Originals and Using Only the JDK?

Joindre des listes en Java sans modification ni bibliothèques externes

Lors de la fusion de deux listes, il est souvent souhaitable d'éviter de modifier les originaux en utilisant uniquement le JDK. Voici une analyse complète des différentes approches :

Méthode originale :

Comme présenté dans la question, créer une nouvelle liste, copier des éléments des deux listes d'entrée et les ajouter vers la nouvelle liste est une méthode simple :

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

JDK 1.3 Version :

Pour la compatibilité Java 1.3, on peut utiliser la méthode Iterator.addAll :

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

Concaténation de flux Java 8 :

En Java 8 et versions ultérieures, la concaténation de flux offre une solution concise et efficace alternative :

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

Méthode Java 16 toList :

Java 16 introduit la méthode toList, qui simplifie la collecte de flux :

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

Solution One-Line :

La combinaison des approches précédentes permet une seule ligne :

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

Remarque :

Toutes ces méthodes satisfont aux conditions spécifiées de ne pas modifier les listes d'origine, d'utiliser uniquement le JDK et de ne pas s'appuyer sur les bibliothèques externes. Les solutions fournies vont des techniques classiques aux fonctionnalités Java modernes, offrant une flexibilité basée sur la compatibilité des plates-formes et les préférences de codage.

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