繁体   English   中英

根据HashMap键值获取ArrayList索引

[英]Get ArrayList Index according to HashMap Key Value

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

试试这个--->

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;
}

我想你只需要这样定义它:

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);

你可以这样做:

在这里,我正在寻找值“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;
}

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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM