【发布时间】:2013-09-15 00:41:52
【问题描述】:
我有一个哈希映射类型数组列表:
public static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
它有一些像这样的 ID 和名称:
这是用于循环的代码:
for (HashMap<String, String> map : mylist)
for (Entry<String, String> entry : map.entrySet())
if(entry.getValue().contains(typedText)){
map1 = new HashMap<String, String>();
map1.put("id", entry.getKey());
map1.put("name", entry.getValue());
mylist1.add(map1);
}
问题在于这一行:
for (Entry<String, String> entry : map.entrySet())
map.entrySet() 显示正确的 ID 和名称如下:
但只有 Name 可用于 'entry':
entry.getKey() 总是返回作为键的文本“名称”,entry.getValue() 返回作为值的“凯蒂贝利”。
我的问题是为什么我没有使用 entry.getKey() 获取密钥?为什么每次迭代我总是将“名称”作为键?
【问题讨论】:
-
请在以后更加注意您的格式 - 请记住 Stack Overflow 不适用于标签;格式化代码时使用空格代替。
标签: java loops arraylist hashmap