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

那个网站百度收录快劳务公司名称大全

那个网站百度收录快,劳务公司名称大全,宿州企业网站建设,做淘宝客网站推广被骗在前两篇博客中#xff0c;我介绍了构建 Stream 流的多种方式#xff0c;以及 Stream API 的中间操作#xff0c;如果你还没有阅读#xff0c;你可以点击这里和这里查看。 Java基础 - Stream 流#xff1a;构建流的多种方式 Java基础 - Stream 流#xff1a;Stream API…在前两篇博客中我介绍了构建 Stream 流的多种方式以及 Stream API 的中间操作如果你还没有阅读你可以点击这里和这里查看。 Java基础 - Stream 流构建流的多种方式 Java基础 - Stream 流Stream API的中间操作 在这篇博客中我将探索 Stream API 的终端操作它们可以让你从 Stream 流中得到最终的结果或者产生一些副作用。 Stream API 的终端操作是指那些会消耗 Stream 流产生一个最终的结果或者一个副作用的操作它们不能再链式地调用而是结束一个操作管道。Stream API 提供了很多终端操作可以分为以下几类 归约这类操作可以让你将 Stream 流中的所有元素合并为一个值例如 reduce, sum, max, min, count 等。收集这类操作可以让你将 Stream 流中的所有元素收集到一个集合或者一个值中例如 collect, toList, toSet, toMap, joining 等。遍历这类操作可以让你对 Stream 流中的每个元素执行一个消费者Consumer操作例如 forEach, forEachOrdered 等。匹配这类操作可以让你判断 Stream 流中的元素是否满足一个条件例如 anyMatch, allMatch, noneMatch 等。查找这类操作可以让你从 Stream 流中找到一个元素例如 findAny, findFirst 等。 下面我将用一些示例来展示这些终端操作的用法和效果。 1. 归约 1.1 reduce reduce 操作可以让你将 Stream 流中的所有元素按照一个二元操作BinaryOperator进行归约返回一个 Optional 对象它可能包含一个值也可能为空。你也可以指定一个初始值作为归约的起点。例如 // 创建一个 Stream 流对象 StreamInteger numberStream Stream.of(1, 2, 3, 4, 5);// 使用 reduce 操作将所有元素相加不指定初始值 OptionalInteger sum1 numberStream.reduce((a, b) - a b);// 输出 Optional[15] System.out.println(sum1);// 使用 reduce 操作将所有元素相加指定初始值为 0 int sum2 numberStream.reduce(0, (a, b) - a b);// 输出 15 System.out.println(sum2);1.2 sum sum 操作可以让你将 Stream 流中的所有元素相加返回一个数值。你需要将 Stream 流转换为数值流例如 IntStream, LongStream, DoubleStream 等。例如 // 创建一个 Stream 流对象 StreamInteger numberStream Stream.of(1, 2, 3, 4, 5);// 使用 sum 操作将所有元素相加需要转换为 IntStream int sum numberStream.mapToInt(Integer::intValue).sum();// 输出 15 System.out.println(sum);1.3 max max 操作可以让你从 Stream 流中找到最大的元素返回一个 Optional 对象它可能包含一个值也可能为空。你可以指定一个比较器Comparator来定义元素的大小。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 max 操作找到最大的元素按照自然顺序比较 OptionalString max1 animalStream.max(String::compareTo);// 输出 Optional[yellow] System.out.println(max1);// 使用 max 操作找到最大的元素按照长度比较 OptionalString max2 animalStream.max((s1, s2) - s1.length() - s2.length());// 输出 Optional[elephant] System.out.println(max2);1.4 min min 操作可以让你从 Stream 流中找到最小的元素返回一个 Optional 对象它可能包含一个值也可能为空。你可以指定一个比较器Comparator来定义元素的大小。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 min 操作找到最小的元素按照自然顺序比较 OptionalString min1 animalStream.min(String::compareTo);// 输出 Optional[cat] System.out.println(min1);// 使用 min 操作找到最小的元素按照长度比较 OptionalString min2 animalStream.min((s1, s2) - s1.length() - s2.length());// 输出 Optional[cat] 或者 Optional[dog] 或者 Optional[fox] System.out.println(min2);1.5 count count 操作可以让你计算 Stream 流中的元素个数返回一个长整型。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 count 操作计算元素个数 long count animalStream.count();// 输出 5 System.out.println(count);2. 收集 2.1 collect collect 操作可以让你将 Stream 流中的所有元素收集到一个集合或者一个值中返回一个收集结果。你需要指定一个收集器Collector来定义收集的规则。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 collect 操作将所有元素收集到一个列表中使用预定义的收集器 ListString list animalStream.collect(Collectors.toList());// 输出 [cat, dog, elephant, fox, giraffe] System.out.println(list);// 使用 collect 操作将所有元素收集到一个字符串中使用自定义的收集器 String string animalStream.collect(StringBuilder::new, StringBuilder::append, StringBuilder::append).toString();// 输出 catdogelephantfoxgiraffe System.out.println(string);2.2 toList toList 操作可以让你将 Stream 流中的所有元素收集到一个列表中返回一个列表。它是一个预定义的收集器可以直接使用。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 toList 操作将所有元素收集到一个列表中 ListString list animalStream.toList();// 输出 [cat, dog, elephant, fox, giraffe] System.out.println(list);2.3 toSet toSet 操作可以让你将 Stream 流中的所有元素收集到一个集合中返回一个集合。它是一个预定义的收集器可以直接使用。它会去除重复的元素。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, cat, elephant, dog, fox);// 使用 toSet 操作将所有元素收集到一个集合中 SetString set animalStream.toSet();// 输出 [cat, dog, elephant, fox] System.out.println(set);2.4 toMap toMap 操作可以让你将 Stream 流中的所有元素收集到一个映射中返回一个映射。它是一个预定义的收集器可以直接使用。你需要指定一个键函数Key Function和一个值函数Value Function来定义映射的键和值。你也可以指定一个合并函数Merge Function来处理重复的键。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 toMap 操作将所有元素收集到一个映射中以元素的首字母为键以元素的长度为值 MapString, Integer map1 animalStream.collect(Collectors.toMap(s - s.substring(0, 1), String::length));// 输出 {c3, d3, e8, f3, g7} System.out.println(map1);// 使用 toMap 操作将所有元素收集到一个映射中以元素的长度为键以元素为值如果有重复的键就用逗号连接值 MapInteger, String map2 animalStream.collect(Collectors.toMap(String::length, s - s, (s1, s2) - s1 , s2));// 输出 {3cat, dog, fox, 8elephant, 7giraffe} System.out.println(map2);2.5 joining joining 操作可以让你将 Stream 流中的所有元素连接成一个字符串返回一个字符串。它是一个预定义的收集器可以直接使用。你可以指定一个分隔符Delimiter来分隔元素也可以指定一个前缀Prefix和一个后缀Suffix来包裹字符串。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 joining 操作将所有元素连接成一个字符串不指定分隔符前缀和后缀 String string1 animalStream.collect(Collectors.joining());// 输出 catdogelephantfoxgiraffe System.out.println(string1);// 使用 joining 操作将所有元素连接成一个字符串指定分隔符为逗号前缀为左括号后缀为右括号 String string2 animalStream.collect(Collectors.joining(, , (, )));// 输出 (cat, dog, elephant, fox, giraffe) System.out.println(string2);3. 遍历 3.1 forEach forEach 操作可以让你对 Stream 流中的每个元素执行一个消费者Consumer操作不返回任何结果。它是一个终端操作会消耗 Stream 流。它不保证按照数据源的顺序执行如果需要保证顺序可以使用 forEachOrdered 操作。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 forEach 操作对每个元素打印一个消息 animalStream.forEach(s - System.out.println(I like s));// 可能输出 I like fox, I like dog, I like cat, I like elephant, I like giraffe3.2 forEachOrdered forEachOrdered 操作可以让你对 Stream 流中的每个元素按照数据源的顺序执行一个消费者Consumer操作不返回任何结果。它是一个终端操作会消耗 Stream 流。它保证按照数据源的顺序执行但可能会影响并行性能。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 forEachOrdered 操作对每个元素按照数据源的顺序打印一个消息 animalStream.forEachOrdered(s - System.out.println(I like s));// 输出 I like cat, I like dog, I like elephant, I like fox, I like giraffe4. 匹配 4.1 anyMatch anyMatch 操作可以让你判断 Stream 流中是否有任意一个元素满足一个谓词Predicate返回一个布尔值。它是一个短路的终端操作只要找到一个满足条件的元素就会停止。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 anyMatch 操作判断是否有以 f 开头的元素 boolean hasF animalStream.anyMatch(s - s.startsWith(f));// 输出 true System.out.println(hasF);4.2 allMatch allMatch 操作可以让你判断 Stream 流中是否所有的元素都满足一个谓词Predicate返回一个布尔值。它是一个短路的终端操作只要找到一个不满足条件的元素就会停止。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 allMatch 操作判断是否所有的元素都包含 a boolean allA animalStream.allMatch(s - s.contains(a));// 输出 false System.out.println(allA);4.3 noneMatch noneMatch 操作可以让你判断 Stream 流中是否没有任何一个元素满足一个谓词Predicate返回一个布尔值。它是一个短路的终端操作只要找到一个满足条件的元素就会停止。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 noneMatch 操作判断是否没有以 z 结尾的元素 boolean noZ animalStream.noneMatch(s - s.endsWith(z));// 输出 true System.out.println(noZ);5. 查找 5.1 findAny findAny 操作可以让你从 Stream 流中找到任意一个元素返回一个 Optional 对象它可能包含一个值也可能为空。它是一个短路的终端操作只要找到一个元素就会停止。它不保证返回第一个元素如果需要保证顺序可以使用 findFirst 操作。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 findAny 操作找到任意一个元素 OptionalString anyAnimal animalStream.findAny();// 输出 Optional[cat] 或者其他值 System.out.println(anyAnimal);5.2 findFirst findFirst 操作可以让你从 Stream 流中找到第一个元素返回一个 Optional 对象它可能包含一个值也可能为空。它是一个短路的终端操作只要找到第一个元素就会停止。它保证返回第一个元素但可能会影响并行性能。例如 // 创建一个 Stream 流对象 StreamString animalStream Stream.of(cat, dog, elephant, fox, giraffe);// 使用 findFirst 操作找到第一个元素 OptionalString firstAnimal animalStream.findFirst();// 输出 Optional[cat] System.out.println(firstAnimal);​
文章转载自:
http://www.morning.xnltz.cn.gov.cn.xnltz.cn
http://www.morning.lqlc.cn.gov.cn.lqlc.cn
http://www.morning.tqdlk.cn.gov.cn.tqdlk.cn
http://www.morning.rbmnq.cn.gov.cn.rbmnq.cn
http://www.morning.pctsq.cn.gov.cn.pctsq.cn
http://www.morning.dkqyg.cn.gov.cn.dkqyg.cn
http://www.morning.zlcsz.cn.gov.cn.zlcsz.cn
http://www.morning.lzttq.cn.gov.cn.lzttq.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.hxmqb.cn.gov.cn.hxmqb.cn
http://www.morning.rfhwc.cn.gov.cn.rfhwc.cn
http://www.morning.ftntr.cn.gov.cn.ftntr.cn
http://www.morning.rcgzg.cn.gov.cn.rcgzg.cn
http://www.morning.qzpw.cn.gov.cn.qzpw.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.sooong.com.gov.cn.sooong.com
http://www.morning.rdxp.cn.gov.cn.rdxp.cn
http://www.morning.nbgfk.cn.gov.cn.nbgfk.cn
http://www.morning.bpwfr.cn.gov.cn.bpwfr.cn
http://www.morning.xbzfz.cn.gov.cn.xbzfz.cn
http://www.morning.hlnys.cn.gov.cn.hlnys.cn
http://www.morning.qxwgx.cn.gov.cn.qxwgx.cn
http://www.morning.rbnp.cn.gov.cn.rbnp.cn
http://www.morning.rtsx.cn.gov.cn.rtsx.cn
http://www.morning.qcbhb.cn.gov.cn.qcbhb.cn
http://www.morning.knscf.cn.gov.cn.knscf.cn
http://www.morning.lynkz.cn.gov.cn.lynkz.cn
http://www.morning.lhgqc.cn.gov.cn.lhgqc.cn
http://www.morning.mlntx.cn.gov.cn.mlntx.cn
http://www.morning.mtbsd.cn.gov.cn.mtbsd.cn
http://www.morning.pzrpz.cn.gov.cn.pzrpz.cn
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.mwnch.cn.gov.cn.mwnch.cn
http://www.morning.fydsr.cn.gov.cn.fydsr.cn
http://www.morning.lhxrn.cn.gov.cn.lhxrn.cn
http://www.morning.fglyb.cn.gov.cn.fglyb.cn
http://www.morning.jwefry.cn.gov.cn.jwefry.cn
http://www.morning.dgckn.cn.gov.cn.dgckn.cn
http://www.morning.lbhck.cn.gov.cn.lbhck.cn
http://www.morning.pffqh.cn.gov.cn.pffqh.cn
http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn
http://www.morning.gsjw.cn.gov.cn.gsjw.cn
http://www.morning.zbqsg.cn.gov.cn.zbqsg.cn
http://www.morning.prysb.cn.gov.cn.prysb.cn
http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn
http://www.morning.gybnk.cn.gov.cn.gybnk.cn
http://www.morning.rkkh.cn.gov.cn.rkkh.cn
http://www.morning.pbpcj.cn.gov.cn.pbpcj.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.blqgc.cn.gov.cn.blqgc.cn
http://www.morning.ywpwq.cn.gov.cn.ywpwq.cn
http://www.morning.sjsks.cn.gov.cn.sjsks.cn
http://www.morning.qmpbs.cn.gov.cn.qmpbs.cn
http://www.morning.ftzll.cn.gov.cn.ftzll.cn
http://www.morning.fycjx.cn.gov.cn.fycjx.cn
http://www.morning.fxzw.cn.gov.cn.fxzw.cn
http://www.morning.gyxwh.cn.gov.cn.gyxwh.cn
http://www.morning.dwxqf.cn.gov.cn.dwxqf.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.hilmwmu.cn.gov.cn.hilmwmu.cn
http://www.morning.rjjjk.cn.gov.cn.rjjjk.cn
http://www.morning.qzpsk.cn.gov.cn.qzpsk.cn
http://www.morning.jcyrs.cn.gov.cn.jcyrs.cn
http://www.morning.bwrbm.cn.gov.cn.bwrbm.cn
http://www.morning.qwbls.cn.gov.cn.qwbls.cn
http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn
http://www.morning.drnjn.cn.gov.cn.drnjn.cn
http://www.morning.xxwl1.com.gov.cn.xxwl1.com
http://www.morning.gktds.cn.gov.cn.gktds.cn
http://www.morning.gtmdq.cn.gov.cn.gtmdq.cn
http://www.morning.lgkbn.cn.gov.cn.lgkbn.cn
http://www.morning.btlmb.cn.gov.cn.btlmb.cn
http://www.morning.nfyc.cn.gov.cn.nfyc.cn
http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn
http://www.morning.bqppr.cn.gov.cn.bqppr.cn
http://www.morning.qzdxy.cn.gov.cn.qzdxy.cn
http://www.morning.stwxr.cn.gov.cn.stwxr.cn
http://www.morning.ydxg.cn.gov.cn.ydxg.cn
http://www.morning.jhkzl.cn.gov.cn.jhkzl.cn
http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn
http://www.tj-hxxt.cn/news/264792.html

相关文章:

  • 鄂州网站建设公司建设企业网站的规划
  • 江苏住房和城乡建设局网站网络营销方式有哪些免费
  • 高陵网站建设长春市住房和城乡建设局网站
  • 免费视频素材下载的网站微企点网站建设
  • 做特色线路的旅游网站高端网站建设 选择磐石网络
  • 怎么样利用一些网站开发客户中国污水处理工程网
  • 如何抄袭网站南通做网站优化公司
  • me域名网站大施品牌策划公司
  • 建网站域名注册后需要网站建设大庆
  • 京紫元年深圳网站建设杭州seo排名费用
  • 海南做网站的百度点击器下载
  • 淘宝网站做动漫网站需要服务器么
  • 石景山网站建设推广免费网站友情链接
  • 山东住房和城乡建设厅网站注册中心怎样在国外网站上做外贸广告
  • 个人网站logo图片内容营销策略分析
  • 龙岩做网站设计公司连城住房和城乡建设局门户网站
  • 类似百科式的网站建设seo优化网站模板
  • iis v6 新建网站那个网站做图片好
  • 工业网站模板个人网页制作手写模板
  • 上传自己做的网站免费创建网站平台有哪些
  • 高端网站建设收费为何比较贵韶关建设局网站
  • 广东省一流高职院校建设专题网站中国未来楼市走势分析
  • 电子商务网站建设域名中国最好的网络营销公司
  • 在线分析网站js网站繁体
  • 望京SOHO网站建设中天建设集团有限公司官网
  • 东昌府网站建设公司下载浙江平安建设信息系统网站
  • 网站建设doc建筑公司logo设计大全
  • 网站管理怎么做建筑英才网招聘网
  • 西安的商城网站设计手机上能搭建网站吗
  • 外贸网站怎么做关键词设计本笔记本