Android - 从HashMap获取价值

Par*_*ani 75 java android hashmap android-widget

我试图在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");
Run Code Online (Sandbox Code Playgroud)

现在我想迭代它并获得每种颜色的值,并希望在"Toast"中显示.我该如何显示它?

Pen*_*m10 100

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();
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,迭代顺序未定义.如果您想要添加相同的顺序,请使用LinkedHashMap (6认同)

pol*_*nts 82

这是一个演示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
Run Code Online (Sandbox Code Playgroud)

请注意,条目以任意顺序迭代.如果您需要特定订单,那么您可以考虑例如LinkedHashMap

也可以看看

相关问题

在迭代条目时:

关于不同的Map特点:


enum

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

也可以看看

相关问题


小智 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();
    }
Run Code Online (Sandbox Code Playgroud)


Nis*_*hah 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();
}
Run Code Online (Sandbox Code Playgroud)