Cómo combinar dos ArrayLists en Java

Aprenda a combinar dos arraylists en una sola arraylist combinada en Java. También aprenda a unirse a listas de arreglos sin duplicados en la lista combinada.

Combinar arraylists-List.Método addAll ()

Método addAll () la forma más sencilla de anexar todos los elementos de la colección dada al final de otra lista. Usando este método, podemos combinar varias listas en una sola lista.

Salida del programa.


PROPINA : Hay más formas de combinar listas usando bibliotecas como guava o Apache commons lang, pero todas usan solo el método addAll(). Así que es mejor usar este método directamente.

Combinar arraylists-Corriente Java 8.flatMap ()

Los flujos de Java 8 nos proporcionan soluciones de una línea para la mayoría de los problemas y, al mismo tiempo, el código se ve limpio. El método flatMap() de Stream se puede usar para obtener los elementos de dos o más listas en una sola secuencia, y luego recopilar elementos de secuencia en una lista de arreglos.

Salida del programa.


Combinar dos arraylists sin duplicados

En los dos primeros ejemplos, combinamos las listas, pero en la lista final teníamos elementos duplicados. Esto puede no ser un resultado deseado en muchos casos.

Para obtener una lista combinada menos elementos duplicados, tenemos dos enfoques:

  1. Usa LinkedHashSet. Un conjunto permite solo elementos únicos. Empuje ambas listas en un conjunto y el conjunto representará una lista de todos los elementos únicos combinados.

    Estamos usando LinkedHashSet porque también preservará el orden de los elementos.

  2. Este es un proceso de dos pasos. Elimine todos los elementos de la primera lista de la segunda lista y, a continuación, agregue la primera lista a la segunda lista. Dará uso a la lista combinada sin elementos duplicados.

Salida del programa.


Feliz Aprendizaje !!

Una guía para Java ArrayList
ArrayList Java Docs

¿Fue útil este post?

Háganos saber si le gustó la publicación. Es la única manera de mejorar.
No

Deja una respuesta

Tu dirección de correo electrónico no será publicada.