根据HashMap键值获取ArrayList索引

时间:2013-09-06 08:31:12

标签: java android arraylist hashmap

我将一个ArrayList作为ArrayList<HashMap<String, String>> arrayList_LatLong = new ArrayList<HashMap<String, String>>();,我将HashMap放入该ArrayList中。 HashMap键值对假设如下

map.put(key1,value1);  
map.put(key2,value2);  
map.put(key3,value3);  
map.put(key4,value4);  
map.put(key5,value5);  

现在我想要根据Value1的ArrayList索引,这意味着我有Value1,我想要相应的ArrayList索引,这样我也可以从相应的HashMap获取其他值。

3 个答案:

答案 0 :(得分:4)

试试这个---&gt;

public static int getIndexOFValue(String value, List<Map<String, String>> listMap) {

    int i = 0;
    for (Map<String, String> map : listMap) {
        if (map.containsValue(value)) {
            return i;
        } 
        i++;
    }
    return -1;
}

答案 1 :(得分:0)

我认为你只需要这样定义:

ArrayList<HashMap<String, Integer>> arrayList_LatLong = new ArrayList<HashMap<String, Integer>>();

当您想要获取列表中的索引时,您必须执行以下操作:

Integer newIndex = arrayList_LatLong.get(someIndex).get("aKey");
HashMap<String, Integer> indexes = arrayList_LatLong.get(newIndex);

答案 2 :(得分:0)

public static int getIndexOFkey(String key,ArrayList&gt; listMap){

    int i = 0;
    for (i=0; i<listMap.size(); i++)
    {
        if(listMap.get(i).get("id").equalsIgnoreCase(key))
        {
         return i;
        }
    }

    return -1;
}