Konverter et kart til en matrise, liste eller sett i Java

1. Oversikt

Denne korte artikkelen viser hvordan du gjør det konvertere verdiene til en Kart til en Array, en Liste eller a Sett ved hjelp av vanlig Java, så vel som et raskt Guava-basert eksempel.

Denne artikkelen er en del av "Java - Back to Basic" -serien her på Baeldung.

2. Kartverdier til matrise

La oss først se på å konvertere verdiene til kartet til en matrise, bruker vanlig java:

@Test offentlig ugyldighet givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect () {Map sourceMap = createMap (); Samlingsverdier = sourceMap.values ​​(); Streng [] targetArray = values.toArray (ny streng [0]); }

Noter det toArray (ny T [0]) er den foretrukne måten å bruke metoden på toArray (ny T [størrelse]). Som Aleksey Shipilëv viser i blogginnlegget, virker det raskere, tryggere og renere.

3. Kartverdier til liste

La oss deretter konvertere verdiene til et kart til en liste - ved hjelp av vanlig Java:

@Test offentlig ugyldighet givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect () {Map sourceMap = createMap (); Liste targetList = ny ArrayList (sourceMap.values ​​()); }

Og ved hjelp av Guava:

@Test offentlig ugyldighet givenUsingGuava_whenMapValuesConvertedToList_thenCorrect () {Map sourceMap = createMap (); Liste targetList = Lists.newArrayList (sourceMap.values ​​()); }

4. Kartverdier å angi

Til slutt, la oss konvertere verdiene til kartet til et sett ved hjelp av vanlig java:

@Test offentlig ugyldighet givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect () {Map sourceMap = createMap (); Sett targetSet = nytt HashSet (sourceMap.values ​​()); }

5. Konklusjon

Som du kan se, kan alle konverteringer gjøres med en enkelt linje, bare ved hjelp av Java-standardsamlingsbiblioteket.

Implementeringen av alle disse eksemplene og kodebiter kan bli funnet på GitHub-prosjektet - dette er et Maven-basert prosjekt, så det skal være enkelt å importere og kjøre som det er.