我有一个哈希映射类型数组列表:
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 和名称,如下所示:
但只有名称可用于“条目”:
entry.getKey()
总是返回作为键的文本'name',并entry.getValue()
返回作为值的'Katie Bailey'。
我的问题是为什么我没有使用 entry.getKey() 获取密钥?为什么每次迭代我总是将“名称”作为键?