如何在java中迭代List <map>?

时间:2017-01-11 11:23:30

标签: java list collections maps

我想迭代List并且如果该键是“Happy”,那么我想将其存储在变量中。

例如: - List<Map> list=service.getValues();

4 个答案:

答案 0 :(得分:4)

首先不要使用RAW 类型

之后,执行增强 for循环来迭代列表,每个元素都是一个map,然后获取那个

的entrySet
List<Map<String, String>> list = ...;
        for (final Map<String, String> element : list) {
            for (final Entry<String, String> entryElem : element.entrySet()) {
                System.out.println("Key: " + entryElem.getKey());
                System.out.println("Value: " + entryElem.getValue());
            }
        }

java8

嵌套的for循环可以恢复为:

list.forEach(element-> element.entrySet().forEach(System.out::println));

答案 1 :(得分:0)

我刚刚浏览了这个清单。获取地图然后浏览地图。

String output="";
            List<Map<String,String>> list=new ArrayList<Map<String,String>>();
            for(int i=0;i<list.size();i++)
            {
                Map<String,String> map=list.get(i);
                Set<String> set=map.keySet();
                Iterator it=set.iterator();
                while(it.hasNext())
                {
                    String key=(String) it.next();
                    if(key.equals("Happy"))
                        output=map.get(key);
                }
            }

答案 2 :(得分:0)

final AlertDialog dialog = builder.create();
  1. 创建一个列表对象
  2. 使用增强的for循环迭代它。
  3. 将密钥逐个存储在对象中(否则会出现类型不匹配错误)
  4. 将对象转换为字符串 5.最终将你的字符串与“Happy”匹配
  5. 如果匹配,则将其转换为变量并成功返回。

答案 3 :(得分:-1)

List<Map> list = service.getValues();    

for(Map map : list) {
    for(String key : map.keySet()) {
        if(key.equals("Happy")) {
           //do something with key
        }
    }
}