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

河北省住房城乡建设网站域名信息

河北省住房城乡建设网站,域名信息,广州app外包,wordpress 获取当前文章的分类idStreamAPI 一、Stream特点 Stream是数据渠道#xff0c;用于操作数据源#xff08;集合、数组等#xff09;所生成的元素序列。“集合讲的是数据#xff0c;负责存储数据#xff0c;Stream流讲的是计算#xff0c;负责处理数据#xff01;” 注意#xff1a; ①Str…StreamAPI 一、Stream特点 Stream是数据渠道用于操作数据源集合、数组等所生成的元素序列。“集合讲的是数据负责存储数据Stream流讲的是计算负责处理数据” 注意 ①Stream 自己不会存储元素。 ②Stream 不会改变源对象。每次处理都会返回一个持有结果的新Stream。 ③Stream 操作是延迟执行的。这意味着他们会等到需要结果的时候才执行。 二、Stream操作的步骤 1- 创建 Stream通过一个数据源如集合、数组获取一个流 2- 中间操作每次处理都会返回一个持有结果的新Stream即中间操作的方法返回值仍然是Stream类型的对象因此中间操作可以是个操作链返回值类型是Stream类型的可以一直使用.方法操作可对数据源的数据进行n次处理但是在终结操作前并不会真正执行。 3- 终止操作终止操作的方法返回值类型就不再是Stream了因此一旦执行终止操作就结束整个Stream操作了。一旦执行终止操作就执行中间操作链最终产生结果并结束Stream。 案例分析 Testpublic void test1(){//1、创建Stream指定数据源来创建StreamArrayListString list new ArrayList();list.add(hello);list.add(java);list.add(hi);list.add(heihei);StreamString stream list.stream();//2、加工处理//假设我要处理的要求把里面所有的e字母修改为a//FunctionT,R 的抽象方法 R apply(T t)stream stream.map(s- s.replace(e,a));//假设我要处理的要求筛选出包含a字母的单词//PredicateT接口 boolean test(T t)stream stream.filter(s - s.contains(a));//处理打印所有包含a字母的单词//ConsumerT 的抽象方法 void accept(T t)stream stream.peek( s - System.out.println(s));//3、结束处理//统计满足条件的单词的个数 // long count stream.count();//没有这一步前面的加工处理不执行 // System.out.println(count count);System.out.println(list list);//不会修改数据源}没有开启3、结束处理步骤时的运行结果 开启之后的运行结果 三、创建StreamAPI 1、创建 Stream方式一通过集合 Java8 中的 Collection 接口被扩展提供了两个获取流的方法 public default Stream stream() : 返回一个顺序流 public default Stream parallelStream() : 返回一个并行流 Stream stream list.stream(); 2、创建 Stream方式二通过数组 Java8 中的 Arrays 的静态方法 stream() 可以获取数组流 public static Stream stream(T[] array): 返回一个流 String[] arr {“hello”,“world”,“java”}; Stream stream Arrays.stream(arr); 3、创建 Stream方式三通过Stream的of() 可以调用Stream类静态方法 of(), 通过显示值创建一个流。它可以接收任意数量的参数。 public static Stream of(T… values) : 返回一个顺序流 Stream stringStream Stream.of(“hello”, “world”, “java”); 4、创建 Stream方式四创建无限流 可以使用静态方法 Stream.iterate() 和 Stream.generate(), 创建无限流。 public static Stream iterate(final T seed, final UnaryOperator f):返回一个无限流public static Stream generate(Supplier s) 返回一个无限流 Testpublic void test4(){//SupplierT 的抽象方法 T get()StreamDouble stream Stream.generate(() - Math.random());//结束Stream//ConsumerT 的抽象方法 void accept(T t)stream.forEach(t- System.out.println(t));}Testpublic void test5(){//StreamT iterate(final T seed, final UnaryOperatorT f)//seed种子//UnaryOperatorT T apply(T t) // StreamInteger stream Stream.iterate(1, t - t2);StreamInteger stream Stream.iterate(1, t - {try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}return t2;});//结束Stream//ConsumerT 的抽象方法 void accept(T t)stream.forEach(System.out::println);} }四、中间操作API 多个中间操作可以连接起来形成一个流水线除非流水线上触发终止操作否则中间操作不会执行任何的处理而在终止操作时一次性全部处理称为“惰性求值”。 序号方 法描 述1Stream filter(Predicate p)接收 Lambda 从流中排除某些元素2Stream distinct()筛选通过流所生成元素的equals() 去除重复元素3Stream limit(long maxSize)截断流使其元素不超过给定数量4Stream skip(long n)跳过元素返回一个扔掉了前 n 个元素的流。若流中元素不足 n 个则返回一个空流。与 limit(n) 互补5Stream peek(Consumer action)接收Lambda对流中的每个数据执行Lambda体操作6Stream sorted()产生一个新流其中按自然顺序排序7Stream sorted(Comparator com)产生一个新流其中按比较器顺序排序8Stream map(Function f)接收一个函数作为参数该函数会被应用到每个元素上并将其映射成一个新的元素。9Stream mapToDouble(ToDoubleFunction f)接收一个函数作为参数该函数会被应用到每个元素上产生一个新的 DoubleStream。10Stream mapToInt(ToIntFunction f)接收一个函数作为参数该函数会被应用到每个元素上产生一个新的 IntStream。11Stream mapToLong(ToLongFunction f)接收一个函数作为参数该函数会被应用到每个元素上产生一个新的 LongStream。12Stream flatMap(Function f)接收一个函数作为参数将流中的每个值都换成另一个流然后把所有流连接成一个流/*需求给你一组单词统计里面使用了几个字母并找出这些字母*//*R StreamR map(Function? super T, ? extends R mapper);T类型-R类型对象R StreamR flatMap(Function? super T, ? extends Stream? extends R mapper);T类型-StreamR流*/SetString set Stream.of(hello, java, world, xiaoyu) //把所有单词的每一个字母取出来.flatMap(s - Arrays.stream(s.split(|))).collect(Collectors.toSet());System.out.println(字母有set);System.out.println(个数 set.size());/*字母有[a, d, e, h, i, j, l, o, r, u, v, w, x, y]个数14*/案例 Testpublic void test10(){//找出最老的3个员工年龄最大的3个员工ArrayListEmployee list new ArrayList();list.add(new Employee(1,张三,23,15000));list.add(new Employee(2,李四,24,14000));list.add(new Employee(3,王五,25,18000));list.add(new Employee(4,赵六,22,12000));list.add(new Employee(5,陈前,29,12000));list.add(new Employee(6,林上清,27,12000));list.add(new Employee(7,昆昆,27,12000));//年龄第3名的员工年龄值不能重复//思路先找出年龄值是第3的值然后再找员工//Stream mapToInt(ToIntFunction f)//ToIntFunctionT int applyAsInt(T value);OptionalInt ageOption list.stream().sorted((t1,t2)-t2.getAge()-t1.getAge()).mapToInt(emp - emp.getAge()).distinct().skip(2).findFirst();System.out.println(age ageOption);list.stream().filter(emp - emp.getAge() ageOption.getAsInt()).forEach(t- System.out.println(t));}五、终结操作API 终端操作会从流的流水线生成结果。其结果可以是任何不是流的值例如List、Integer甚至是 void。流进行了终止操作后不能再次使用。 序号方法的返回值类型方法描述1booleanallMatch(Predicate p)检查是否匹配所有元素2booleananyMatch(Predicate p)检查是否至少匹配一个元素3booleannoneMatch(Predicate p)检查是否没有匹配所有元素4OptionalfindFirst()返回第一个元素5OptionalfindAny()返回当前流中的任意元素6longcount()返回流中元素总数7Optionalmax(Comparator c)返回流中最大值8Optionalmin(Comparator c)返回流中最小值9voidforEach(Consumer c)迭代10Treduce(T iden, BinaryOperator b)可以将流中元素反复结合起来得到一个值。返回 T11Ureduce(BinaryOperator b)可以将流中元素反复结合起来得到一个值。返回 Optional12Rcollect(Collector c)将流转换为其他形式。接收一个 Collector接口的实现用于给Stream中元素做汇总的方法StreamInteger stream Stream.of(1, 2, 3, 5, 7, 9);//判断stream中的所有数据是否都满足 偶数的要求//allMatch(Predicate? super T predicate)//PredicateT boolean test(T t)boolean result stream.allMatch(num - num % 2 0);//判断stream中的所有数据是否有数字满足 偶数的要求//anyMatch(Predicate? super T predicate)//PredicateT boolean test(T t)boolean result stream.anyMatch(num - num % 2 0);}//判断stream中的所有数据是否都不满足 偶数的要求//noneMatch(Predicate? super T predicate)//PredicateT boolean test(T t)boolean result stream.noneMatch(num - num % 2 0);//获取流中第一个元素OptionalInteger first stream.findFirst();//加工处理一下筛选出所有的偶数//StreamT filter(Predicate? super T predicate);//PredicateT boolean test(T t)stream stream.filter(num - num%20);//统计流中的元素个数long count stream.count();//找出流中的最大值和最小值//ComparatorT int compare(T t1 ,T t2)OptionalInteger max stream.max((t1, t2) - t1-t2);OptionalInteger min stream.min((t1, t2) - t1 - t2);//遍历流中的数据// void forEach(Consumer? super T action);//ConsumerT 的抽象方法 void accept(T t)stream.forEach(t- System.out.println(t));//使用reduce方法找出最大值不用max方法//OptionalT reduce(BinaryOperatorT accumulator);//BinaryOperatorT,T T apply(T t1, T t2)OptionalInteger max stream.reduce((t1, t2) - t1 t2 ? t1 : t2);//把流中的元素值累加起来//OptionalT reduce(BinaryOperatorT accumulator);//BinaryOperatorT,T T apply(T t1, T t2)final OptionalInteger sum stream.reduce((t1, t2) - t1 t2);//筛选出所有的偶数放到一个List集合中//中间处理//StreamT filter(Predicate? super T predicate);//PredicateT boolean test(T t)stream stream.filter(t-t%20);//收集这些元素到List中ListInteger list stream.collect(Collectors.toList());//筛选出所有的偶数放到一个Set集合中//中间处理//StreamT filter(Predicate? super T predicate);//PredicateT boolean test(T t)stream stream.filter(t-t%20);SetInteger set stream.collect(Collectors.toSet());
文章转载自:
http://www.morning.zsfooo.com.gov.cn.zsfooo.com
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.zbqsg.cn.gov.cn.zbqsg.cn
http://www.morning.sjsks.cn.gov.cn.sjsks.cn
http://www.morning.ttaes.cn.gov.cn.ttaes.cn
http://www.morning.rqnml.cn.gov.cn.rqnml.cn
http://www.morning.yrxcn.cn.gov.cn.yrxcn.cn
http://www.morning.hrtfz.cn.gov.cn.hrtfz.cn
http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn
http://www.morning.yksf.cn.gov.cn.yksf.cn
http://www.morning.bgbnc.cn.gov.cn.bgbnc.cn
http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn
http://www.morning.wrqw.cn.gov.cn.wrqw.cn
http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn
http://www.morning.zckhn.cn.gov.cn.zckhn.cn
http://www.morning.wjhnx.cn.gov.cn.wjhnx.cn
http://www.morning.zyndj.cn.gov.cn.zyndj.cn
http://www.morning.kqfdrqb.cn.gov.cn.kqfdrqb.cn
http://www.morning.blqsr.cn.gov.cn.blqsr.cn
http://www.morning.qkxt.cn.gov.cn.qkxt.cn
http://www.morning.0small.cn.gov.cn.0small.cn
http://www.morning.qpfmh.cn.gov.cn.qpfmh.cn
http://www.morning.rmmz.cn.gov.cn.rmmz.cn
http://www.morning.mnslh.cn.gov.cn.mnslh.cn
http://www.morning.yfmwg.cn.gov.cn.yfmwg.cn
http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn
http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn
http://www.morning.yqwrj.cn.gov.cn.yqwrj.cn
http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn
http://www.morning.qfbzj.cn.gov.cn.qfbzj.cn
http://www.morning.dmtbs.cn.gov.cn.dmtbs.cn
http://www.morning.cfcdr.cn.gov.cn.cfcdr.cn
http://www.morning.btwrj.cn.gov.cn.btwrj.cn
http://www.morning.xpzgg.cn.gov.cn.xpzgg.cn
http://www.morning.tjjkn.cn.gov.cn.tjjkn.cn
http://www.morning.ljjmr.cn.gov.cn.ljjmr.cn
http://www.morning.ftntr.cn.gov.cn.ftntr.cn
http://www.morning.djxnn.cn.gov.cn.djxnn.cn
http://www.morning.cokcb.cn.gov.cn.cokcb.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.ntgrn.cn.gov.cn.ntgrn.cn
http://www.morning.rwqk.cn.gov.cn.rwqk.cn
http://www.morning.rrhfy.cn.gov.cn.rrhfy.cn
http://www.morning.xysdy.cn.gov.cn.xysdy.cn
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.crqbt.cn.gov.cn.crqbt.cn
http://www.morning.jnhhc.cn.gov.cn.jnhhc.cn
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.rnlx.cn.gov.cn.rnlx.cn
http://www.morning.cfrz.cn.gov.cn.cfrz.cn
http://www.morning.pflry.cn.gov.cn.pflry.cn
http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn
http://www.morning.xpqyf.cn.gov.cn.xpqyf.cn
http://www.morning.nkhdt.cn.gov.cn.nkhdt.cn
http://www.morning.tphrx.cn.gov.cn.tphrx.cn
http://www.morning.rbylq.cn.gov.cn.rbylq.cn
http://www.morning.twdkt.cn.gov.cn.twdkt.cn
http://www.morning.mnccq.cn.gov.cn.mnccq.cn
http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn
http://www.morning.jwcmq.cn.gov.cn.jwcmq.cn
http://www.morning.zcsch.cn.gov.cn.zcsch.cn
http://www.morning.pnmnl.cn.gov.cn.pnmnl.cn
http://www.morning.lbjdx.cn.gov.cn.lbjdx.cn
http://www.morning.kjlhb.cn.gov.cn.kjlhb.cn
http://www.morning.rnht.cn.gov.cn.rnht.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.snnwx.cn.gov.cn.snnwx.cn
http://www.morning.xmxbm.cn.gov.cn.xmxbm.cn
http://www.morning.fbxlj.cn.gov.cn.fbxlj.cn
http://www.morning.tklqs.cn.gov.cn.tklqs.cn
http://www.morning.dxtxk.cn.gov.cn.dxtxk.cn
http://www.morning.ctbr.cn.gov.cn.ctbr.cn
http://www.morning.c7507.cn.gov.cn.c7507.cn
http://www.morning.srwny.cn.gov.cn.srwny.cn
http://www.morning.gbhsz.cn.gov.cn.gbhsz.cn
http://www.morning.zylrk.cn.gov.cn.zylrk.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.kpfds.cn.gov.cn.kpfds.cn
http://www.morning.sqnrz.cn.gov.cn.sqnrz.cn
http://www.tj-hxxt.cn/news/254970.html

相关文章:

  • 那些网站是asp做的网站建设公司成就
  • 网站优化方案案例器材管理网站开发
  • 建设自己的淘宝优惠券网站在微信上怎么开店
  • sql注入网站源码wordpress 减少head
  • 网站换模板.net 手机网站开发
  • 网站开发视频教程百度网盘一个公司做两个网站可以吗
  • 能够做代理的网站有哪些问题免费商标图案设计logo
  • 二级域名解析网站wordpress模板制作兼职
  • 帝国cms手机网站上海网站建设公司 红威
  • 营销型网站建设步骤网站建设支付接口
  • 企业怎么建设自己的网站招商加盟项目推荐
  • 网站公司怎么做的好长春开发公司
  • 国外手机网站模板用discuz做的网站
  • 搭建网站多少钱wordpress网站设置关键词设置
  • 商城网站建设定制企业注册登记流程
  • 国内有做外汇的正规网站吗长春启做网站多少
  • 手机高端网站开发网页浏览器大全
  • 宁海县建设局网站天猫店购买交易平台
  • 电商网站建设选迅法网静态网站建设报告
  • 中源建设有限公司网站手机中国建设银行
  • 美容手机网站模板百度官网认证入口
  • 网站怎么在百度搜不到网站建设开票开什么内容
  • 网站维护 公司简介WordPress 推酷 主题
  • 网站建设拓客有什么方法企业注册百家号可以做网站吗
  • 网站asp怎么没有菜单栏网络公司的网页设计
  • wordpress视频源码东莞企业seo推广
  • 网站推广新手入门高端大气企业网站源码
  • 洛阳市政建设网站盐城网站建设hx1818
  • 自助建站模板下载长安大学门户网站是谁给做的
  • 上海电商网站建设公司排名网站托管服务商