Android-получить значение из HashMap
Я попытался найти на HashMap в Android, но получаю проблему:
Рассмотрим пример:
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
теперь я хочу повторить его и получить значение каждого цвета и хочу отобразить в "тосте".
как мне его отобразить ?
любую идею.
9 ответов:
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(); }
вот простой пример для демонстрации
Mapиспользование: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обратите внимание, что записи повторяются в произвольном порядке. Если вам нужен конкретный заказ, то вы можете рассмотреть, например,
LinkedHashMapсм. также
- эффективное Java 2-е издание, пункт 52: см. объекты по их интерфейсам
- Java Tutorials / Collections -The
Mapинтерфейс- Java Language Guide / the for-each loop
вопросы
при повторении записей:
- Итерации По Карте
- повторение и удаление с карты
- если вы хотите изменить карту во время итерации, вам нужно будет использовать ее
Iterator.на разные
Mapхарактеристики:
On
enumвы можете рассмотреть возможность использования
enumиEnumMapвместоMap<String,String>.см. также
вопросы
это без предупреждения!
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(); }
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(); }
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(); }
эта работа для меня:
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(); }
for (Object key : meMap.keySet()) { String value=(String)meMap.get(key); Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show(); }
Iterator iterator = meMap.keySet().iterator(); while(iterator.hasNext() ){ //get key String key=(String)iterator.next(); //toast value Toast.makeText(getBaseContext(),""+(String)meMap.get(key),Toast.LENGTH_SHORT).show(); }
Comments