stram流 List<Map> 提取内部数据

List<Map>的集合,想获取map内属性a,然后组成新的List<String>
想使用stream流进行操作,但是stream流好像只能操作泛型为实体对象的集合,stream流可以操作这个List<Map>的集合,获取map内属性alist集合吗????  求答疑


 List<Map<String,String>> list = new ArrayList<>();

        List<String> result = list.stream().map(m -> m.get("a")).collect(Collectors.toList());
    @org.junit.Test
    public void test4(){
        List<Map>list=new ArrayList<>();
        for(int i=0;i<3;i++){
            Map<String,String>map=new HashMap<>();
            map.put("a","a"+i);
            map.put("b","b"+i);
            list.add(map);
        }
        List<String>list1=list.stream().map(t->t.get("a").toString()).collect(Collectors.toList());
        System.out.println(list1.toString());
    }

用stream的map。

遍历不就好了?

 public static void main(String[] args) {
        List<Map<String, Object>> maps = new ArrayList<>();
        List<String> list = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        map.put("a", Arrays.asList("1,2,3,4,5,6"));
        maps.add(map);
        if (!CollectionUtils.isEmpty(maps)) {
            maps.forEach(x -> {
                if (x.containsKey("a")) {
                    list.addAll((List<String>) x.get("a"));
                    System.out.println((List<String>) x.get("a"));

                }
            });
        }
        System.out.println(list);
    }