IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Avoir les éléments d'une map à partir d'un liste


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2021
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Juin 2021
    Messages : 11
    Points : 11
    Points
    11
    Par défaut Avoir les éléments d'une map à partir d'un liste
    Bonjour,

    J'ai une HashMap<String, Objet> et une List<String> qui contient certaines key de ma map.

    Comment je peux créer une HashMap avec seulement les Key de ma liste et sa valeur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for (String cle: MaListeDeKey){
                  if (MaHashMap.containsKey(cle)) {
     
                      MaNouvelleMap.put(cle,
     
                  }
             }
    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 608
    Points
    21 608
    Par défaut
    Hello,

    euh, c'est l'utilisation la plus normale imaginable des maps.

    Là c'est maHashMap.get(cle) .

    Mais tu aurais pu faire avec des lambdas, il y a plusieurs solutions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Map<K, V> newMap = theList
      .stream()
      .filter(theMap::containsKey)
      .collect(Collectors.toMap(key -> key, theMap::get));
     
    Map<K, V> newMap2 = theMap
      .entrySet()
      .stream()
      .filter(entry -> theList.contains(entry.getKey()))
      .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
     
    Map<K, V> newMap3 = new HashMap<>(theMap);
    newMap3.keySet().retainAll(theList);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/02/2015, 22h38
  2. Réponses: 9
    Dernier message: 30/05/2011, 10h49
  3. Ordonner les éléments d'une map!
    Par jamsgoodon dans le forum SL & STL
    Réponses: 3
    Dernier message: 11/03/2011, 12h02
  4. Récupérer les éléments de deux map différentes en une seule boucle.
    Par floctc dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 19/05/2010, 15h50
  5. [Thread] Synchroniser tous les éléments d'une map
    Par Monorom dans le forum Concurrence et multi-thread
    Réponses: 7
    Dernier message: 02/04/2007, 12h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo