Eliminar duplicados en una lista

Hola buenas a todos, hoy les comparto un pequeño tutorial para poder eliminar duplicados en una lista, como el anterior articulo, usando algunas librerías o técnicas que nos vienen muy bien a la hora de hacer nuestros algoritmos.

Eliminar duplicados usando Java Collection:

Vamos a ver como es sencillo eliminar duplicados usando Set

public void givenListContainsDuplicates_whenRemovingDuplicatesWithPlainJava_thenCorrect() {
    List<Integer> listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);
    List<Integer> listWithoutDuplicates = new ArrayList<>(new HashSet<>(listWithDuplicates));
 
    assertThat(listWithoutDuplicates, hasSize(4));
}

Eliminar duplicados usando Goole Guava

Lo mismo que antes pero usando Guava

public void givenListContainsDuplicates_whenRemovingDuplicatesWithGuava_thenCorrect() {
    List<Integer> listWithDuplicates = Lists.newArrayList(0, 1, 2, 3, 0, 0);
    List<Integer> listWithoutDuplicates = Lists.newArrayList(Sets.newHashSet(listWithDuplicates));
 
    assertThat(listWithoutDuplicates, hasSize(4));
}

Eliminar duplicados usando Java8 Lambdas

Vamos a ver como usando las Api Streams, nos facilita mucho poder eliminar duplicados en una lista

public void givenListContainsDuplicates_whenRemovingDuplicatesWithJava8_thenCorrect() {
    List<Integer> listWithDuplicates = Lists.newArrayList(1, 1, 2, 2, 3, 3);
    List<Integer> listWithoutDuplicates = listWithDuplicates.stream()
     .distinct()
     .collect(Collectors.toList());
}

Bueno espero les sea de mucha utilidad como lo es para mi.

Saludos a todos.

Origen: Removing all duplicates from a List in Java | Baeldung

LEAVE YOUR COMMENTS