Minden másolat eltávolítása a Java listájáról

Ez a gyors bemutató megmutatja hogyan lehet megtisztítani az ismétlődő elemeket egy listából - először a sima Java, majd a Guava használatával, végül pedig a Java 8 Lambda alapú megoldással.

Ez a cikk a „Java - Vissza az alapokhoz”Sorozat itt, a Baeldungon.

1. Távolítsa el a duplikátumokat a listából a Sima Java használatával

Az ismétlődő elemek eltávolítása a listáról a Java Java Framework keretrendszerrel egyszerűen elvégezhető egy készleten keresztül:

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

Mint látható, az eredeti lista változatlan marad.

2. Távolítsa el a másolatokat a listából a Guava használatával

Ugyanez megtehető a Guava használatával is:

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

És ismét: az eredeti lista változatlan marad.

3. Távolítsa el a duplikátumokat a listáról a Java 8 Lambdas használatával

Végül - nézzünk meg egy új megoldást, a Lambdas használatát a Java 8-ban; mi fogunk használja a különböző() metódust a Stream API-ból amely egy, a visszaadott eredmény alapján különböző elemekből álló folyamot ad vissza egyenlő () módszer:

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

És itt van - 3 gyors módszer az összes duplikált elem megtisztítására egy listából.

4. Következtetés

Ez a cikk bemutatja, mennyire egyszerű eltávolítani a duplikátumokat egy listáról a sima Java, a Google Guava és a Java 8 használatával.

Mindezen példák és kivonatok megvalósítása megtalálható a GitHub projektben. Ez egy Maven-alapú projekt, így könnyen importálhatónak és futtathatónak kell lennie.