Lær at flette to arraylister til en kombineret enkelt arraylist i Java. Lær også at deltage i arraylister uden duplikater i den kombinerede liste.
Flet arraylists – liste.addAll () metode
addAll() metode enkleste måde at tilføje alle elementerne i den givne samling til slutningen af en anden liste. Ved hjælp af denne metode kan vi kombinere flere lister i en enkelt liste.
programudgang.
TIP : Der er flere måder at flette lister ved hjælp af biblioteker som guava eller Apache commons lang, men de bruger alle kun
addAll()
metode. Så det er bedre at bruge denne metode direkte.
Flet arraylists – Java 8 Stream.flatMap ()
Java 8 streams giver os en linjeløsninger på de fleste af problemerne, og samtidig ser koden ren ud. Stream ‘ s flatMap () – metode kan bruges til at hente elementerne i to eller flere lister i single stream og derefter samle stream-elementer til en arraylist.
programudgang.
Flet to arraylister uden dubletter
i de første to eksempler kombinerede vi listerne, men i den endelige liste havde vi duplikatelementer. Dette er muligvis ikke et ønsket output i mange tilfælde.
for at få kombineret liste minus duplikatelementer har vi to tilgange:
- brug LinkedHashSet. Et sæt tillader kun unikke elementer. Skub begge lister i et sæt, og sæt repræsenterer en liste over alle unikke elementer kombineret.
vi bruger
LinkedHashSet
fordi det også vil bevare elementernes rækkefølge. - dette er to trin proces. Fjern alle elementer i første liste fra anden liste, og tilføj derefter første liste til anden liste. Det vil give Brug den kombinerede liste uden duplikatelementer.
programudgang.
Glad Læring !!
en Guide til Java ArrayList
ArrayList Java Docs