Android-从HashMap获得价值


79

我试图在Android中的HashMap上进行搜索,但是出现问题:

考虑以下示例:

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

现在,我想对其进行迭代并获取每种颜色的值,并希望在“ Toast”中显示。如何显示?



3
@clamp ya我已经看过android-sdk
Paresh Mayani

1
也许您还应该阅读可用的方法,例如keySet(),而不仅仅是说明。
Pentium10'8

@ Pentium10对HashMap一无所知。...从理论上讲,我怎么能知道.... btw thanx寻求帮助和支持
Paresh Mayani 2010年

SDK包含有关其方法的说明,在询问之前,应检查并查看可以在HashMap上运行的方法。
Pentium10'8

Answers:


107
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();
}

6
请注意,迭代顺序是不确定的。如果要与添加集合的顺序相同,请使用LinkedHashMap
密钥

上面的代码仅在“键” ..而不是“值”上进行迭代。例如,它仅显示“ color1”,“ color2” ...等。而不是“红”,“蓝”,等等
帕雷什Mayani

只需向密钥哈希表发出请求,您就会拥有它,我更新了代码。
Pentium10

如何添加LinkedHashMap以相同的顺序返回,请帮助。
乔尼

85

这是一个演示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

也可以看看

相关问题

在遍历条目时:

在不同的Map特征上:


enum

您可能需要考虑使用enumEnumMap而不是Map<String,String>

也可以看看

相关问题


导入java.util。*; 必须添加
Durai Amuthan.H 2014年

如果您只想要这些值,那么此答案显然更容易理解
E.Akio

7

这没有警告!

    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();
    }

5
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();
}

2
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();
}

2

这项工作对我来说:

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();
}

2
for (Object key : meMap.keySet()) {
        String value=(String)meMap.get(key);
        Toast.makeText(ctx, "Key: "+key+" Value: "+value, Toast.LENGTH_LONG).show();
    }

1
 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();

                }

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.