Android - Get value from HashMap
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();}
Here's a simple example to demonstrate Map
usage:
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")); // BlueSystem.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
Note that the entries are iterated in arbitrary order. If you need a specific order, then you may consider e.g. LinkedHashMap
See also
- Effective Java 2nd Edition, Item 52: Refer to objects by their interfaces
- Java Tutorials/Collections - The
Map
interface - Java Language Guide/The for-each loop
Related questions
On iterating over entries:
- Iterate Over Map
- iterating over and removing from a map
- If you want to modify the map while iterating, you'd need to use its
Iterator
.
- If you want to modify the map while iterating, you'd need to use its
On different Map
characteristics:
On enum
You may want to consider using an enum
and EnumMap
instead of Map<String,String>
.
See also
Related questions
This with no warnings!
HashMap<String, String> meMap=new HashMap<String, String>(); meMap.put("Color1","Red"); meMap.put("Color2","Blue"); meMap.put("Color3","Green"); meMap.put("Color4","White"); for (Object o : meMap.keySet()) { Toast.makeText(getBaseContext(), meMap.get(o.toString()), Toast.LENGTH_SHORT).show(); }