Convertir les valeurs de map en une liste en Java

Sarwan Soomro 12 octobre 2023
  1. Définir une map à convertir en liste en Java
  2. Utiliser les flux Collector pour convertir une map en liste en Java
Convertir les valeurs de map en une liste en Java

Ce didacticiel exécutera trois programmes pour montrer comment convertir les valeurs de la map de hachage en une liste en Java.

Définir une map à convertir en liste en Java

Avant de convertir les valeurs de la map en une liste, nous devons d’abord avoir un objet de la map, puis lui attribuer deux types de données : un entier (clés) et une chaîne (valeurs) avant de le regrouper dans une liste.

Les clés de ce programme sont les valeurs RPM des voitures, tandis que les chaînes sont leurs couleurs.

Syntaxe:

Map<Integer, String> M2L = new HashMap<>();
M2L.put(5000, "Toyata Black");
M2L.put(6000, "Audi White");
M2L.put(8000, "BMW Red");
M2L.put(12000, "Buggati Silver");

Utiliser les flux Collector pour convertir une map en liste en Java

Les Collector sont des classes publiques qui étendent les objets en Java. Ils aident également à collecter des éléments et à résumer les fonctionnalités en fonction de divers référentiels prédéfinis par les utilisateurs.

Ici, nous utilisons la méthode keySet() pour obtenir des clés en créant une liste de tableaux à partir d’un ensemble renvoyé par une map.

Consultez l’exemple suivant, qui convertit une map en liste.

Exemple 1:

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MapToList {
  public static void main(String[] args) {
    Map<Integer, String> M2L = new HashMap<>();
    M2L.put(1, "New York");
    M2L.put(2, "Toronto");
    M2L.put(3, "Berlin");
    List<Integer> ID = M2L.keySet().stream().collect(Collectors.toList());
    ID.forEach(System.out::println);
    List<String> NAME = M2L.values().stream().collect(Collectors.toList());
    NAME.forEach(System.out::println);
  }
}

Production:

1
2
3
New York
Toronto
Berlin

Considérez le code suivant dans notre deuxième exemple.

Syntaxe:

List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());

Exemple 2 :

package maptolist;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class MaptoListExample2 {
  public static void main(String[] args) {
    Map<Integer, String> maptolist = new HashMap<>();
    maptolist.put(1, "This");
    maptolist.put(2, "Is");
    maptolist.put(3, "A");
    maptolist.put(4, "Demo");
    maptolist.put(5, "Example");
    List<Integer> nums = maptolist.keySet().stream().collect(Collectors.toList());
    System.out.println("Keys:");
    nums.forEach(System.out::println);
    // Conversion Strings
    List<String> chars = maptolist.values().stream().collect(Collectors.toList());
    System.out.println("Values:");
    chars.forEach(System.out::println);
  }
}

Production:

Keys:
1
2
3
4
5
Values:
This
Is
A
Demo
Example

Maintenant que nous avons vu la logique sous-jacente derrière les maps et les listes et utilisé une combinaison de collecteurs d’objets, vous trouverez ci-dessous un solide programme map-in-list qui fonctionnera dans toutes les situations.

La fonction keySet() renvoie une vue d’ensemble des clés dans la map afin que les modifications de la map s’appliquent également à l’ensemble. Ici, nous formons une paire dans une enveloppe pour obtenir une liste de clés, comme indiqué ci-dessous.

Syntaxe:

List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());

Exemple 3 :

package maptolist;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MapToListExample3 {
  public static void main(String[] args) {
    // Define Map
    Map<String, String> MAP2LIST = new HashMap<String, String>();
    // Values (key as values)
    MAP2LIST.put("1 + 1", "TWO");
    MAP2LIST.put("10 - 5", "FIVE");
    MAP2LIST.put("2.4 + 3.6", "SIX");
    // Define list
    List<String> setkey = new ArrayList<String>(MAP2LIST.keySet());
    // foreach function extends setkey and prints the output
    setkey.forEach(System.out::println);
    List<String> setvalue = new ArrayList<String>(MAP2LIST.values());
    setvalue.forEach(System.out::println);
  }
}

Production:

10 - 5
1 + 1
2.4 + 3.6
FIVE
TWO
SIX
Sarwan Soomro avatar Sarwan Soomro avatar

Sarwan Soomro is a freelance software engineer and an expert technical writer who loves writing and coding. He has 5 years of web development and 3 years of professional writing experience, and an MSs in computer science. In addition, he has numerous professional qualifications in the cloud, database, desktop, and online technologies. And has developed multi-technology programming guides for beginners and published many tech articles.

LinkedIn

Article connexe - Java List

Article connexe - Java Map