当前位置: 首页 > news >正文

Java8Stream快速使用

将List集合存入流中 

        List<String> list = new ArrayList<>();list.add("张一");list.add("张二");list.add("张三");list.add("李四");list.add("赵五");list.add("张六");list.add("王八");Stream<String> stream = list.stream();
Stream.of 将流中添加参数
Stream<String> stream = Stream.of("张一", "张二");
stream.count(); 统计数量

stream.filter();过滤将流中的参数按条件返回
 public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张一");list.add("张二");list.add("张三");list.add("李四");list.add("赵五");list.add("张六");Stream<String> stream = list.stream();stream.filter((String name)->{ return name.startsWith("张");});}

这里将名字做了判断,String name开头为“张”的参数,将会返回回去。

stream().forEach();将流中参数遍历
    public static void main(String[] args) {List<String> list = new ArrayList<>();list.add("张一");list.add("张二");list.add("张三");list.add("李四");list.add("赵五");list.add("张六");list.stream().forEach((String name)->{System.out.println("流中的元素" + name);});}

forEach中的(String name)写什么都可以,主要是要和上面的list中类型一致,将流中的值赋值在String类型的name上,然后输出

 实战:将以下两个list的for循环通过流优化

/*** 获取所有的区域和下级经纬度** @return*/@Overridepublic List<RegionInfo> findAllRegionInfo() {List<RegionInfo> regionInfoList = this.mapper.findList();List<Trajectory> listByRegionInfoList = trajectoryService.findListByRegionInfoList(regionInfoList);for (RegionInfo regionInfo : regionInfoList) {List<Trajectory> trajectories = new ArrayList<>();for (Trajectory trajectory : listByRegionInfoList) {if (trajectory.getFenceId().equals(regionInfo.getId())) {trajectories.add(trajectory);}regionInfo.setTrajectoryList(trajectories);}}return regionInfoList;}

http://www.lryc.cn/news/233420.html

相关文章:

  • work环境配置
  • Flutter应用-使用sqflite升级数据库
  • 集群搭建(redis7)
  • 高能分享:软件测试十大必问面试题(附带答案)
  • Java 反射设置List属性
  • wpf devexpress Property Grid创建属性定义
  • 78.子集--77.组合
  • 【C++】模版-初阶
  • 【JavaEE初阶】 TCP服务器与客户端的搭建
  • 23111710[含文档+PPT+源码等]计算机毕业设计基于SpringBoot的体育馆场地预约赛事管理系统的设计
  • 【论文解读】GPT Understands, Too
  • 组合式API_生命周期
  • WPF如何实现应用程序托盘
  • ERROR: column “xxxx.id“ must appear in the GROUP BY
  • 【C++ 学习 ㊲】- 五种特殊类的设计
  • 探索arkui(2)--- 布局(列表)--- 2(支持分组/实现响应滚动位置)
  • systemverilog:interface中端口方向理解
  • 【GUI】-- 08 JButton、JRadioButton、JCheckBox
  • 【postgresql】CentOS7 安装Pgweb
  • 基于python和定向爬虫的商品比价系统
  • 使用GPT-4训练数据微调GPT-3.5 RAG管道
  • 二十三种设计模式全面解析-深入解析模板方法模式的奇妙世界
  • 【Spring】加载properties文件
  • react中间件的理解
  • React函数组件状态Hook—useState《进阶-对象数组》
  • linux 网络 cat /proc/net/dev 查看测试网络丢包情况
  • 记录配置VS,使用opencv与Eigen
  • uart控制led与beep
  • Linux修改root密码
  • C/C++模板类模板与函数模板区别,以及用法详解