1

我有一个 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 中获取其他值。

4

4 回答 4

4

试试这个--->

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;
}
于 2013-09-06T08:49:33.617 回答
0

您可以执行以下操作:

在这里,我正在搜索值“android”。您可以根据您的代码更改它

String value = "android";

int getIndex(){
  int i = -1;
  for (Map<String, String> map : arrayList_LatLong) {
    for (String key : map.keySet()) {
      if (map.get(key).equals(value)) {

          i = arrayList_LatLong.indexOf(map);

      }
   } 
}

return i;
}
于 2013-09-06T09:29:11.627 回答
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);
于 2013-09-06T08:37:37.753 回答
0

public static int getIndexOFkey(String key, ArrayList> listMap) {

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

    return -1;
}
于 2015-06-14T07:31:23.160 回答