Converti una mappa in un array, un elenco o un insieme in Java

1. Panoramica

Questo breve articolo mostrerà come convertire i valori di una mappa in un array, un elenco o un set utilizzando Java semplice e un rapido esempio basato su Guava.

Questo articolo fa parte della serie "Java - Back to Basic" qui su Baeldung.

2. Associare i valori alla matrice

Per prima cosa, diamo un'occhiata alla conversione dei valori della mappa in un array, usando semplice java :

@Test public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() { Map sourceMap = createMap(); Collection values = sourceMap.values(); String[] targetArray = values.toArray(new String[0]); }

Si noti che toArray (new T [0]) è il modo preferito per utilizzare il metodo rispetto a toArray (new T [size]) . Come dimostra Aleksey Shipilëv nel suo post sul blog, sembra più veloce, più sicuro e più pulito.

3. Mappa valori su elenco

Successivamente, convertiamo i valori di una mappa in un elenco, utilizzando Java semplice:

@Test public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() { Map sourceMap = createMap(); List targetList = new ArrayList(sourceMap.values()); }

E usando Guava:

@Test public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() { Map sourceMap = createMap(); List targetList = Lists.newArrayList(sourceMap.values()); }

4. Mappare i valori da impostare

Infine, convertiamo i valori della mappa in un set, utilizzando semplice java:

@Test public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() { Map sourceMap = createMap(); Set targetSet = new HashSet(sourceMap.values()); }

5. conclusione

Come puoi vedere, tutte le conversioni possono essere eseguite con una singola riga, utilizzando solo la libreria delle collezioni standard Java.

L'implementazione di tutti questi esempi e frammenti di codice può essere trovata sul progetto GitHub : questo è un progetto basato su Maven, quindi dovrebbe essere facile da importare ed eseguire così com'è.