使用Lamda表达式、stream流遍历Map、list

简介: 使用Lamda表达式、stream流遍历Map、list

场景一、

List<String> list = new ArrayList<String>();
    Map<String,String> map = new HashMap<>();
    map.put("id","11");
    map.put("name","zhangsan");
    map.put("age","30");
    //遍历map集合
    map.forEach((k,v) -> list.add(v));
    //这几种遍历list集合的方法都可以
    list.stream().forEach(System.out::println);
    list.stream().forEach(e-> System.out.println(e));
    list.forEach(e-> System.out.println(e));

场景二、

两种方式将集合对象类型转为集合string类型

List<String> ipList = Lists.newArrayList();
List<OpsResourceTreeSelect> ops = this.parentNodeTree();
ops.forEach(obj -> ipList.add(obj.getIp()));
或者    
List<OpsResourceTreeSelect> ops = this.parentNodeTree();
List<String> ips = ops.stream().map(OpsResourceTreeSelect::getIp).collect(Collectors.toList());

场景三、

将集合中的对象,过滤指定字段并去重,最后返回一个集合string类型

List<OpsResourceList> ops = opsResourceListMapper.selectOpsResourceListList(null);
List<String> ips = ops.stream()
      .filter(obj -> StringUtils.isNotBlank(obj.getIp()))
      .map(OpsResourceList::getIp)
      .distinct()
      .collect(Collectors.toList());

返回结果

[66.3.125.44, 66.10.113.8, 66.10.113.9, 66.3.125.45, 66.66.66.66, 32.1.52.6, 66.10.113.10, 66.3.125.31, 66.3.125.35, 66.3.125.36]


相关文章
|
12天前
|
Dart
Dart之集合详解(List、Set、Map)
Dart之集合详解(List、Set、Map)
14 1
|
9天前
|
消息中间件 负载均衡 NoSQL
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
Redis系列学习文章分享---第七篇(Redis快速入门之消息队列--List实现消息队列 Pubsub实现消息队列 stream的单消费模式 stream的消费者组模式 基于stream消息队列)
8 0
|
12天前
|
存储 消息中间件 算法
Java中的集合框架详解:List、Set、Map的使用场景
Java中的集合框架详解:List、Set、Map的使用场景
|
1天前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
9 1
|
13天前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
12 1
Map集合的有序遍历,解决方法多看一下别人的资料
Map集合的有序遍历,解决方法多看一下别人的资料
|
10天前
|
存储 安全 程序员
老程序员分享:List、Map、Set之间的联系与区别:
老程序员分享:List、Map、Set之间的联系与区别:
|
13天前
|
Java
java操作list使用Stream
java操作list使用Stream
7 0
|
17天前
遍历Map的四种方法之map.entry详解
遍历Map的四种方法之map.entry详解
|
17天前
|
存储 JavaScript 前端开发
JavaScript进阶-Map与Set集合
【6月更文挑战第20天】JavaScript的ES6引入了`Map`和`Set`,它们是高效处理集合数据的工具。`Map`允许任何类型的键,提供唯一键值对;`Set`存储唯一值。使用`Map`时,注意键可以非字符串,用`has`检查键存在。`Set`常用于数组去重,如`[...new Set(array)]`。了解它们的高级应用,如结构转换和高效查询,能提升代码质量。别忘了`WeakMap`用于弱引用键,防止内存泄漏。实践使用以加深理解。