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

菏泽网站建设菏泽众皓网站建设 岗位

菏泽网站建设菏泽众皓,网站建设 岗位,科技网站建设+长沙,如何使用华为云虚拟主机建设网站独立使用 Stream 的步骤如下#xff1a; 1 . 使用 Stream 或 XxxStream 的 builder() 类方法创建该 Stream 对应的 Builder。 2 . 重复调用 Builder 的 add() 方法向该流中添加多个元素。 3 . 调用 Builder 的 build() 方法获取对应的 Stream。 4 . 调用 Stream 的聚集方法…独立使用 Stream 的步骤如下 1 . 使用 Stream 或 XxxStream 的 builder() 类方法创建该 Stream 对应的 Builder。 2 . 重复调用 Builder 的 add() 方法向该流中添加多个元素。 3 . 调用 Builder 的 build() 方法获取对应的 Stream。 4 . 调用 Stream 的聚集方法。 Stream 提供了大量的聚集方法供用户调用。对于大部分聚集方法而言每个 Stream 只能执行一次。例如如下程序。 public class IntStreamTest {public static void main(String[] args) {IntStream is IntStream.builder().add(20).add(13).add(-2).add(18).build();// 下面调用聚集方法的代码每次只能执行一行System.out.println(is 所有元素的最大值 is.max().getAsInt());System.out.println(is 所有元素的最小值 is.min().getAsInt());System.out.println(is 所有元素的总和 is.sum());System.out.println(is 所有元素的总数 is.count());System.out.println(is 所有元素的平均值 is.average());System.out.println(is所有元素的平方是否都大于20: is.allMatch(ele - ele * ele 20));System.out.println(is是否包含任何元素的平方大于20 : is.anyMatch(ele - ele * ele 20));// 将is映射成一个新Stream,新Stream的每个元素是原Stream元素的2倍1IntStream newIs is.map(ele - ele * 2 1);// 使用方法引用的方式来遍历集合元素newIs.forEach(System.out::println); // 输岀 41 27 -3 37} }上面程序先创建了一个 IntStream接下来分别多次调用 IntStream 的聚集方法执行操作这样即可获取该流的相关信息。 注意上面 5~13 行代码每次只能执行一行因此需要把其他代码注释掉。 Stream 提供了大量的方法进行聚集操作这些方法既可以是“中间的”intermediate也可以是 “末端的”terminal。 中间方法中间操作允许流保持打开状态并允许直接调用后续方法。上面程序中的 map() 方法就是中间方法。中间方法的返回值是另外一个流。 末端方法末端方法是对流的最终操作。当对某个 Stream 执行末端方法后该流将会被“消耗”且不再可用。上面程序中的 sum()、count()、average() 等方法都是末端方法。 除此之外关于流的方法还有如下两个特征。 有状态的方法这种方法会给流增加一些新的属性比如元素的唯一性、元素的最大数量、保证元素以排序的方式被处理等。有状态的方法往往需要更大的性能开销。 短路方法短路方法可以尽早结束对流的操作不必检查所有的元素。 Stream 常用的中间方法。 方法说明filter(Predicate predicate)过滤 Stream 中所有不符合 predicate 的元素mapToXxx(ToXxxFunction mapper)使用 ToXxxFunction 对流中的元素执行一对一的转换该方法返回的新流中包含了 ToXxxFunction 转换生成的所有元素。peek(Consumer action)依次对每个元素执行一些操作该方法返回的流与原有流包含相同的元素。该方法主要用于调试。distinct()该方法用于排序流中所有重复的元素判断元素重复的标准是使用 equals() 比较返回 true。这是一个有状态的方法。sorted()该方法用于保证流中的元素在后续的访问中处于有序状态。这是一个有状态的方法。limit(long maxSize)该方法用于保证对该流的后续访问中最大允许访问的元素个数。这是一个有状态的、短路方法。 Stream 常用的末端方法。 方法说明forEach(Consumer action)遍历流中所有元素对每个元素执行actiontoArray()将流中所有元素转换为一个数组reduce()该方法有三个重载的版本都用于通过某种操作来合并流中的元素min()返回流中所有元素的最小值max()返回流中所有元素的最大值count()返回流中所有元素的数量anyMatch(Predicate predicate)判断流中是否至少包含一个元素符合 Predicate 条件。allMatch(Predicate predicate)判断流中是否每个元素都符合 Predicate 条件noneMatch(Predicate predicate)判断流中是否所有元素都不符合 Predicate 条件findFirst()返回流中的第一个元素findAny()返回流中的任意一个元素 Collection 接口提供了一个 stream() 默认方法该方法可返回该集合对应的流接下来即可通过流式 API 来操作集合元素。由于 Stream 可以对集合元素进行整体的聚集操作因此 Stream 极大地丰富了集合的功能。 使用 Stream 直接对集合中所有的元素进行批量操作。下面使用 Stream 来改写这个程序。 public class CollectionStream {public static void main(String[] args) {// 创建一个集合Collection objs new HashSet();objs.add(new String(中文百度搜索Java教程));objs.add(new String(中文百度搜索C教程));objs.add(new String(中文百度搜索C语言教程));objs.add(new String(中文百度搜索Python教程));objs.add(new String(中文百度搜索Go教程));// 统计集合中出现“中文百度搜索”字符串的数量System.out.println(objs.stream().filter(ele - ((String) ele).contains(中文百度搜索)).count()); // 输出 5// 统计集合中出现“Java”字符串的数量System.out.println(objs.stream().filter(ele - ((String) ele).contains(Java)).count()); // 输出 1// 统计集合中出现字符串长度大于 12 的数量System.out.println(objs.stream().filter(ele - ((String) ele).length() 12).count()); // 输出 1// 先调用Collection对象的stream ()方法将集合转换为Stream// 再调用Stream的mapToInt()方法获取原有的Stream对应的IntStreamobjs.stream().mapToInt(ele - ((String) ele).length())// 调用forEach()方法遍历IntStream中每个元素.forEach(System.out::println);// 输出 11 11 12 10 14} }输出结果为 5 1 1 11 11 12 10 14从上面代码第 11~20 行可以看出程序只要调用 Collection 的 stream() 方法即可返回该集合对应的 Stream接下来就可通过 Stream 提供的方法对所有集合元素进行处理这样大大地简化了集合编程的代码这也是 Stream 编程带来的优势。 上面程序中第 18 行代码先调用 Collection 对象的 stream() 方法将集合转换为 Stream 对象然后调用 Stream 对象的 mapToInt() 方法将其转换为 IntStream 这个 mapToInt。方法就是一个中间方法因此程序可继续调用 IntStream 的 forEach() 方法来遍历流中的元素。
http://www.pierceye.com/news/793585/

相关文章:

  • 网站策划书编写阿里云部署多个网站
  • 品牌高端网站制作公司佛山新网站建设如何
  • 网站开发中怎么设置快捷键网页设计知名网站
  • 公司网上注册在哪个网站分析网络营销方式
  • 网站用什么颜色外贸企业建站公司
  • 网站下载音乐网站开发公司知乎
  • 什么样式表一般用于大型网站什么是seo搜索
  • 做网站用vue还是用jquery济宁网站建设 中企动力临沂
  • 网站专题教程最吸引人的营销广告词
  • 瑞安网站网站建设如何推广自己的店铺
  • 建设网站花都水泥公司网站建设
  • asp网站怎么下载源码农业做的好的网站
  • 导购网站怎么做视频教学网页设计与制作教程第5版
  • 建设部施工安全管理网站网站建设公司如何
  • 企业商城建站公司网站页面加密
  • 昆山教育云平台网站建设软件工程师考试报名
  • ps做网站大小尺寸大连开发区商场
  • 化妆品网站建设网站右键禁止
  • wordpress 没有样式表网站如何免费做SEO优化
  • 青岛有没有专门做淘宝网站中国建设人才网站
  • 网站移动端是什么问题吗怎样自己做免费的网站
  • 做网站没有做退钱宁波品牌策划公司
  • 网站备案 不关站家乡网页制作模板
  • 成都网站建设企业 排名网络营销推广方案ppt
  • 阳西住房和城乡规划建设局网站微信公众号商城制作
  • 石家庄自助建站软件邯郸做紧固件网站
  • 做川菜的网站动画制作网页
  • 网站建设的英文域名注册需要什么条件
  • wordpress管理系统贵州seo和网络推广
  • 网站第二次备案设计方案审核合格后由谁签字确认