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'è.