私はハッシュマップタイプの配列リストを持っています:
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' で使用できるのは Name のみです。
entry.getKey()
キーである「name」というテキストを常に返し、entry.getValue()
値である「Katie Bailey」を返します。
私の質問は、なぜ entry.getKey() でキーを取得できないのですか? 各反復で常に「名前」をキーとして取得するのはなぜですか?