Convertir une carte en tableau, liste ou ensemble en Java

Convertir une carte en tableau, en liste ou en ensemble en Java

1. Vue d'ensemble

Ce court article montrera commentconvert the values of a Map to an Array, a List or a Set en utilisant Java brut ainsi qu'un exemple rapide basé surGuava.

Cet article fait partie dethe “Java – Back to Basic” series ici par exemple.

Lectures complémentaires:

Itérer sur une carte en Java

Apprenez différentes manières de parcourir les entrées d'une carte en Java.

Read more

La différence entre map () et flatMap ()

Découvrez les différences entre map () et flatMap () en analysant quelques exemples de flux et d'options.

Read more

Comment stocker des clés en double dans une carte en Java?

Un guide rapide et pratique pour gérer les clés en double en utilisant plusieurs cartes en Java.

Read more

2. Mapper les valeurs au tableau

Commençons par convertir les valeurs de la carte en un tableau,using plain java:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
    Map sourceMap = createMap();

    Collection values = sourceMap.values();
    String[] targetArray = values.toArray(new String[values.size()]);
}

3. Mapper les valeurs à la liste

Ensuite, convertissons les valeurs d'une carte en liste - en utilisant Java pur:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = new ArrayList<>(sourceMap.values());
}

Et en utilisant de la goyave:

@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = Lists.newArrayList(sourceMap.values());
}

4. Mapper les valeurs à définir

Enfin, convertissons les valeurs de la carte en un ensemble, en utilisant java simple:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
    Map sourceMap = createMap();

    Set targetSet = new HashSet<>(sourceMap.values());
}

5. Conclusion

Comme vous pouvez le constater, toutes les conversions peuvent être effectuées avec une seule ligne, en utilisant uniquement la bibliothèque de collections standard Java.

L'implémentation de tous ces exemples et extraits de codecan be found over on GitHub project - il s'agit d'un projet basé sur Maven, il devrait donc être facile à importer et à exécuter tel quel.