80 votes

Android - Obtenez de la valeur de HashMap

J'ai essayé de rechercher sur HashMap dans Android, mais le problème est le suivant:

Considérons cet exemple:

   HashMap<String, String> meMap=new HashMap<String, String>();
     meMap.put("Color1","Red");
     meMap.put("Color2","Blue");
     meMap.put("Color3","Green");
     meMap.put("Color4","White");
 

Maintenant, je veux itérer et obtenir la valeur de chaque couleur et que vous souhaitez afficher dans "Toast". Comment puis-je l'afficher?

Une idée.

110voto

Pentium10 Points 68884
Iterator myVeryOwnIterator = meMap.keySet().iterator();
while(myVeryOwnIterator.hasNext()) {
    String key=(String)myVeryOwnIterator.next();
    String value=(String)meMap.get(key);
    Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
}

87voto

polygenelubricants Points 136838

Voici un exemple simple pour démontrer Map d'utilisation:

Map<String, String> map = new HashMap<String, String>();
map.put("Color1","Red");
map.put("Color2","Blue");
map.put("Color3","Green");
map.put("Color4","White");

System.out.println(map);
// {Color4=White, Color3=Green, Color1=Red, Color2=Blue}        

System.out.println(map.get("Color2")); // Blue

System.out.println(map.keySet());
// [Color4, Color3, Color1, Color2]

for (Map.Entry<String,String> entry : map.entrySet()) {
    System.out.printf("%s -> %s%n", entry.getKey(), entry.getValue());
}
// Color4 -> White
// Color3 -> Green
// Color1 -> Red
// Color2 -> Blue

Notez que les entrées sont itérées dans un ordre arbitraire. Si vous avez besoin d'un ordre spécifique, alors vous pouvez envisager par exemple, LinkedHashMap

Voir aussi

Questions connexes

Sur l'itération sur les entrées:

Sur les différents Map caractéristiques:


Sur enum

Vous pouvez envisager d'utiliser un enum et EnumMap au lieu de Map<String,String>.

Voir aussi

Questions connexes

5voto

Nishant Shah Points 1103
HashMap<String, String> meMap=new HashMap<String, String>();
     meMap.put("Color1","Red");
     meMap.put("Color2","Blue");
     meMap.put("Color3","Green");
     meMap.put("Color4","White");

     Iterator myVeryOwnIterator =  meMap.values().iterator();
     while(myVeryOwnIterator.hasNext()) {
         Toast.makeText(getBaseContext(), myVeryOwnIterator.next(), 
Toast.LENGTH_SHORT).show();
     }

2voto

Suresh Manchi Points 3264
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() ){
    Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()), 
    Toast.LENGTH_SHORT).show();
}

2voto

Ahmad Points 30

ça marche pour moi:

 HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");

Iterator iterator = meMap.keySet().iterator();
while( iterator. hasNext() )
{
    Toast.makeText(getBaseContext(), meMap.get(iterator.next().toString()), 
    Toast.LENGTH_SHORT).show();
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X