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.