从List <Map <K,V >>到List <V>的转换(从地图列表中获取所有唯一值)

吉滕德拉·瓦什尼(Jitendra Varshney)

List<Map<String, Object >>喜欢:

[
   {"code":last_name},
   {"code":last_date}, 
   {"code":task_id}
]

现在,我想像这样在List中进行转换:

 [last_name, last_date, task_id]

我用这段代码来转换

List<Object> allCodeKeeper = new ArrayList<Object>();
for(Map<String,Object> map : list){
    if(!allCodeKeeper.contains(map.get("code"))){
        allCodeKeeper.add(map.get("code"));
    }
}

输出:

[last_name, last_date, task_id]

但我想使用Lambda表达式进行此转换。

CKing

试试这个 :

List<Object> allCodeKeeper = list.stream().map(o -> o.get("code"))
                .distinct().collect(Collectors.toList());

样品运行

    List<Map<String, Object>> list = new ArrayList<>();
    Map<String,Object> map1 = new HashMap<>();
    map1.put("code", "last_name");
    Map<String,Object> map2 = new HashMap<>();
    map2.put("code", "last_date");
    map2.put("code","last_name");//adding a duplicate on purpose
    Map<String,Object> map3 = new HashMap<>();
    map3.put("code", "task_id");
    list.add(map1);
    list.add(map2);
    list.add(map3);
    List<Object> allCodeKeeper = list.stream().map(o -> o.get("code"))
            .distinct().collect(Collectors.toList());
    System.out.println(allCodeKeeper);

也就是说,您最好使用aSet而不是aList作为结果,因为您要消除重复的值。

Set<Object> uniqueCodeKeeper = list.stream().map(o -> o.get("code"))
                .collect(Collectors.toSet());

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从List <Map <K,V >>到List <V>的转换(从地图列表中获取所有唯一值)

来自分类Dev

将 RDD[(K,V) 转换为 Map[K,List[V]]

来自分类Dev

如何在Java中将List <Map <K,V >>转换为Map <K,List <V >>

来自分类Dev

Java 8 List <T>到Map <K,V>

来自分类Dev

在Java 8中将List <Object []>映射到Map <K,V>

来自分类Dev

如何从键的Map <K,V>和List <K>创建List <T>?

来自分类Dev

从文件到Map <K,V>收集信息

来自分类Dev

从文件收集信息到Map <K,V>

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

Haskell:对于Map中的每个(k,v),请对k和v执行IO()

来自分类Dev

使用Lambda获取Map <K,V>的最大键

来自分类Dev

在Java中的Map <K,V>中设置<T>

来自分类Dev

如何在一行上初始化 Map<K, Map<K,V>>

来自分类Dev

为什么Map <K,V>不扩展Function <K,V>?

来自分类Dev

地图<K,V>返回地图<V,地图<K,V >> groupingBy值之后,而不是地图<的OBJ,列表<条目<K,V >>>

来自分类Dev

什么是Map.Entry <K,V>接口?

来自分类Dev

Map.Entry是原始类型。泛型Map <K,V> .Entry <K,V>的引用应为

来自分类Dev

从 git tag --list 'v*' 获取最后一个标签

来自分类Dev

如何使用 java lambda 将 List 转换为 Map<T, <K, List<Person>>>?

来自分类Dev

Java 8流到Map <K,List <String>

来自分类Dev

为将集合元素添加到Map [K,Set [V]]创建状态转换的更好方法

来自分类Dev

创建状态转换的更好方法,用于将集合元素添加到Map [K,Set [V]]

来自分类Dev

有没有一种方法可以将Map <K,V>类型转换为Object类型?

来自分类Dev

为什么std :: map没有类型insert(key&k,val&v)的插入功能

来自分类Dev

将Map值编码到接口-声明Map <String,List <>>并分配HashMap <String,ArrayList <>>()

来自分类Dev

将Map值编码到接口-声明Map <String,List <>>并分配HashMap <String,ArrayList <>>()

来自分类Dev

将List <A>转换为Map <B,List <A >>

来自分类Dev

带有迭代器的std :: map从std :: map的迭代器到std :: list

Related 相关文章

  1. 1

    从List <Map <K,V >>到List <V>的转换(从地图列表中获取所有唯一值)

  2. 2

    将 RDD[(K,V) 转换为 Map[K,List[V]]

  3. 3

    如何在Java中将List <Map <K,V >>转换为Map <K,List <V >>

  4. 4

    Java 8 List <T>到Map <K,V>

  5. 5

    在Java 8中将List <Object []>映射到Map <K,V>

  6. 6

    如何从键的Map <K,V>和List <K>创建List <T>?

  7. 7

    从文件到Map <K,V>收集信息

  8. 8

    从文件收集信息到Map <K,V>

  9. 9

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  10. 10

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  11. 11

    Haskell:对于Map中的每个(k,v),请对k和v执行IO()

  12. 12

    使用Lambda获取Map <K,V>的最大键

  13. 13

    在Java中的Map <K,V>中设置<T>

  14. 14

    如何在一行上初始化 Map<K, Map<K,V>>

  15. 15

    为什么Map <K,V>不扩展Function <K,V>?

  16. 16

    地图<K,V>返回地图<V,地图<K,V >> groupingBy值之后,而不是地图<的OBJ,列表<条目<K,V >>>

  17. 17

    什么是Map.Entry <K,V>接口?

  18. 18

    Map.Entry是原始类型。泛型Map <K,V> .Entry <K,V>的引用应为

  19. 19

    从 git tag --list 'v*' 获取最后一个标签

  20. 20

    如何使用 java lambda 将 List 转换为 Map<T, <K, List<Person>>>?

  21. 21

    Java 8流到Map <K,List <String>

  22. 22

    为将集合元素添加到Map [K,Set [V]]创建状态转换的更好方法

  23. 23

    创建状态转换的更好方法,用于将集合元素添加到Map [K,Set [V]]

  24. 24

    有没有一种方法可以将Map <K,V>类型转换为Object类型?

  25. 25

    为什么std :: map没有类型insert(key&k,val&v)的插入功能

  26. 26

    将Map值编码到接口-声明Map <String,List <>>并分配HashMap <String,ArrayList <>>()

  27. 27

    将Map值编码到接口-声明Map <String,List <>>并分配HashMap <String,ArrayList <>>()

  28. 28

    将List <A>转换为Map <B,List <A >>

  29. 29

    带有迭代器的std :: map从std :: map的迭代器到std :: list

热门标签

归档