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

张家口市网站建设专业企业网站建设

张家口市网站建设,专业企业网站建设,做童鞋的一些外贸网站,常州制作公司网站1. 简介 目前响应式编程的学习中很多时候都用到了Lambda表达式和StreamAPI#xff0c;那么今天就在这里记录一下一些最基本的使用方法。 StreamAPI中引入了流的概念#xff0c;其将集合看作一种流#xff0c;流在管道中传输#xff08;动态的#xff09;#xff0c;可以…1. 简介 目前响应式编程的学习中很多时候都用到了Lambda表达式和StreamAPI那么今天就在这里记录一下一些最基本的使用方法。 StreamAPI中引入了流的概念其将集合看作一种流流在管道中传输动态的可以在管道的不同节点上进行处理如筛选、排序、聚合等。 流的三部分 数据流、N个中间操作、一个终止操作流需写成一个整体因为流的所有操作是无状态的数据状态仅在当前流内有效外部不要对流中的操作产生影响比如增删改啥的流一些操作默认跟for循环差不多单线程流中的每个元素要完整经过一边流操作才能到下一个元素要想多线程要调用 parallel() 操作使得其变成一个并发流但与此同时也需要取解决线程安全问题加锁流在大数据量的时候比for循环效率高stream作为一个管道其中定义了一系列回调函数可以理解为没有事就不做事有事的时候jvm底层自动帮我们调用 2. 数据流的创建 StreamInteger stream1 Stream.of(1,2,3);StreamInteger stream2 Stream.concat(Stream.of(2,3,4), stream1); // 调用构造器方法记得最后要调用build()方法 StreamObject stream3 Stream.builder().add(11).add(12).build();//常用 调用集合容器本身的stream()方法 //list ListInteger list List.of(1,2); StreamInteger stream4 list.stream();//set SetInteger set Set.of(1,2); StreamInteger stream5 set.stream();//map 分别获取key和value的集合后再stream MapObject,Integer map; StreamObject stream6 map.keySet().stream(); StreamInteger stream7 map.values().stream();3. 中间操作 filter 过滤选出需要的元素map 映射而且事一一映射 mapToInt、mapToLong、mapToDouble flatMap一对多映射 // 自己定义一个Person类 ListPerson list List.of(new Person(charles bibi,11),new Person(katie pesto,12),new Person(paul garba,13),new Person(peter park,14),new Person(rachel chen,15),);list.stream().skip(1) // 跳过前面i个元素.filter(person - person.getAge() 13) // 过滤获取年龄大于13的人.map(person - person.getName) // 获取年龄大于13的人的名字这时候就是StreamString了.peek(System.out::println) // peek方法对每个元素执行操作但不改变元素本身。.flatMap(name - {String[] temp name.split( ); // 根据空格切分获得姓和名return Arrays.stream(temp);}).distinct() // 去重.foreach(System.out::println); // 输出来看一看3.1 takeWhile() takewhile()方法当不满足操作时直接结束流操作而filter()方法无条件执行每一个元素 ListInteger collect List.of(1,2,3,4,5,6).stream().sorted() // 进行排序默认降序.takewhile(i - i2).collect(Collectors.toList()); 4. 终止操作一些简单的就不实现啦基本没有参数直接调用 forEach: 对每个元素执行操作。toArray: 将流元素转化为数组。 // 创建一个整数流 StreamInteger numberStream Stream.of(1, 2, 3, 4, 5);// 使用toArray方法将流转换为数组 Integer[] array numberStream.toArray(Integer[]::new);reduce: 使用BinaryOperator组合流元素。 // 创建一个整数流 StreamInteger numberStream Stream.of(1, 2, 3, 4, 5);// 使用reduce方法将流中的元素组合起来生成一个值 // 第一个参数为累积操作的初始值0 第二个为改变初始值的方法 int sum numberStream.reduce(0, (a, b) - a b);collect: 将流元素收集到某些数据结构中如List、Set或自定义数据结构。min/max: 查找流中的最小或最大元素。 // 创建一个整数流 StreamInteger numberStream Stream.of(1, 2, 3, 4, 5);// 使用max方法获取流中的最大值 // Integer::compareTo方法引用作为比较器。并通过orElse方法处理可能的空值情况 int maxValue numberStream.max(Integer::compareTo).orElse(0);count: 计算流中的元素数量。anyMatch/allMatch/noneMatch: 检查流中是否至少有一个元素满足条件所有元素都满足条件或者没有元素满足条件。 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5); // 是否有大于3的元素 返回boolean值 boolean anyMatch numbers.stream().anyMatch(number - number 3);findFirst/findAny: 查找流中的第一个元素或者任意一个元素。 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5);OptionalInteger anyNumber numbers.stream().filter(number - number % 2 0).findAny();if (anyNumber.isPresent()) {System.out.println(找到的任意一个偶数 anyNumber.get()); } else {System.out.println(没有找到偶数); }forEachOrdered: 以遇到的顺序对流中的每个元素执行操作与forEach类似但有顺序保证。
http://www.pierceye.com/news/983193/

相关文章:

  • 做3个网站需要多大的服务器科凡建站
  • 网站设计制作音乐排行榜44555pd永久四色端口
  • 网站优化方案教程如何注册chn域名网站
  • 怎样建设免费网站个别网站网速慢怎么做
  • 网页设计制作音乐排行榜一键seo提交收录
  • 网站推广要我营业执照复印件conoha wordpress
  • 免费行情软件app网站排行高质量外链网站
  • 免费解析网站制作网站开发项目实战视频
  • 柳州网站建设工作室基金会网站开发方案
  • 龙海网站建设微网站如何建设
  • 手机视频网站怎么做贵阳专业做网站
  • 网站建设题库vps上的网站运行太慢
  • 化妆品网站优化沧州网站制作公司
  • 专业优定软件网站建设上海seo服务
  • 网站充值怎么做的c2c平台的产品类型
  • 阿里去要企业网站建设方案书手机设计房子的软件3d下载
  • 凡科网站登录入轻博客网站开发
  • wordpress微信机器人订阅号性价比高seo网站优化
  • 网站建设全网推广亚马逊seo搜索什么意思
  • 做网站_你的出路在哪里android app for wordpress
  • 代刷网网站建设成都建立网站
  • 建设网站的费用预算商城网站制作
  • 北京网络法庭2018年企业网站优化如何做
  • asp.net做网站的步骤网站维护的作用
  • 网站制作前期所需要准备wordpress邮箱配置文件
  • 网站建设网站排名怎么做赣州专业做网站
  • 吉林电商网站建设价格做网站需要每年都缴费吗
  • 怎样用dede搭建网站域名网址
  • 做网站编辑有前途怎么样才算是一个网站页面
  • 建设鲜花网站前的市场分析网店设计理念