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

成都网站建设sntuuwordpress微信缩略图

成都网站建设sntuu,wordpress微信缩略图,安徽省招投标中心官网,wordpress主题投稿一、Java Stream API Java Stream函数式编程接口最初在Java 8中引入#xff0c;并且与 lambda 一起成为Java开发里程碑式的功能特性#xff0c;它极大的方便了开放人员处理集合类数据的效率。 Java Stream就是一个数据流经的管道#xff0c;并且在管道中对数据进行操作… 一、Java Stream API Java Stream函数式编程接口最初在Java 8中引入并且与 lambda 一起成为Java开发里程碑式的功能特性它极大的方便了开放人员处理集合类数据的效率。 Java Stream就是一个数据流经的管道并且在管道中对数据进行操作然后流入下一个管道。有学过linux 管道的同学应该会很容易就理解。在没有Java Stram之前对于集合类的操作更多的是通过for循环。大家从后文中就能看出Java Stream相对于for 循环更加简洁、易用、快捷。 管道的功能包括Filter过滤、Map(映射)、sort(排序等集合数据通过Java Stream管道处理之后转化为另一组集合或数据输出。 二、Stream API代替for循环 先来看一个例子 ListString nameStrs Arrays.asList(Monkey, Lion, Giraffe,Lemur);ListString list nameStrs.stream().filter(s - s.startsWith(L)).map(String::toUpperCase).sorted().collect(toList()); System.out.println(list);首先我们使用Stream()函数将一个List转换为管道流。调用filter函数过滤数组元素过滤方法使用lambda表达式以L开头的元素返回true被保留其他的List元素被过滤掉。然后调用Map函数对管道流中每个元素进行处理字母全部转换为大写。然后调用sort函数对管道流中数据进行排序。默认情况下使用 sorted() 方法进行排序时会按照自然顺序进行排序。对于字符串来说自然顺序即按照字母的升序进行排序。sorted() 方法对转换为大写形式后的字符串进行排序。因为大写字母的 Unicode 值小于相应的小写字母所以在排序时会先排列大写字母然后是小写字母。最后调用collect函数toList将管道流转换为List返回。 最终的输出结果是[LEMUR, LION]。 当然如果想要根据其他规则进行排序可以使用 sorted(Comparator) 方法并提供一个自定义比较器来指定排序的规则。比如可以使用 sorted((str1, str2) - str1.length() - str2.length()) 来按字符串长度进行排序。 import java.util.Comparator;public class StringLengthComparator implements ComparatorString {Overridepublic int compare(String str1, String str2) {return str1.length() - str2.length();} } 创建了一个名为 StringLengthComparator 的类它实现了 ComparatorString 接口。这个接口要求我们实现 compare 方法来定义元素之间的排序规则。 在 compare 方法中使用 str1.length() - str2.length() 来比较两个字符串的长度。如果 str1 的长度小于 str2 的长度返回一个负值。如果 str1 的长度大于 str2 的长度返回一个正值。如果 str1 和 str2 的长度相等返回 0。通过传递 new StringLengthComparator() 给 sorted() 方法可以按照字符串长度进行排序。 ListString sortedList nameStrs.stream().filter(s - s.startsWith(L)).map(String::toUpperCase).sorted(new StringLengthComparator()).collect(Collectors.toList());System.out.println(sortedList); 当然使用Java 8之前的方法来实现对一个string列表进行排序 ListString names Arrays.asList(peter, anna, mike, xenia); Collections.sort(names, new ComparatorString() {Overridepublic int compare(String a, String b) {return b.compareTo(a);} });使用 Lambda 表达式后的效果是 Collections.sort(names, (String a, String b) - {return b.compareTo(a); }); // 只有一条逻辑语句可以省略大括号 Collections.sort(names, (String a, String b) - b.compareTo(a)); // 可以省略入参类型 Collections.sort(names, (a, b) - b.compareTo(a)); 三、将数组转换为管道流 使用Stream.of()方法将数组转换为管道流。 String[] array {Monkey, Lion, Giraffe, Lemur}; StreamString nameStrs2 Stream.of(array);StreamString nameStrs3 Stream.of(Monkey, Lion, Giraffe, Lemur);四、将集合类对象转换为管道流 通过调用集合类的stream()方法将集合类对象转换为管道流。 ListString list Arrays.asList(Monkey, Lion, Giraffe, Lemur); StreamString streamFromList list.stream();SetString set new HashSet(list); StreamString streamFromSet set.stream();五、将文本文件转换为管道流 通过Files.lines方法将文本文件转换为管道流Paths.get()方法作用就是获取文件是Java NIO的API也就是说我们可以很方便的使用Java Stream加载文本文件然后逐行的对文件内容进行处理。 StreamString lines Files.lines(Paths.get(file.txt));六、转换成流后面的操作 一旦将数组或一组值转换为流你就可以使用流的各种操作方法对其进行处理和操作。下面是一些示例操作 ①、遍历流中的元素 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); nameStrs2.forEach(System.out::println); ②、过滤流中的元素 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); StreamString filteredStream nameStrs2.filter(s - s.startsWith(L)); ③、对流中的元素进行转换 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); StreamString upperCaseStream nameStrs2.map(String::toUpperCase); ④、对流中的元素进行排序 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); StreamString sortedStream nameStrs2.sorted(); ⑤、对流中的元素进行聚合操作 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); OptionalString longestString nameStrs2.max(Comparator.comparingInt(String::length)); ⑥、收集流中的元素到集合中 StreamString nameStrs2 Stream.of(Monkey, Lion, Giraffe, Lemur); ListString stringList nameStrs2.collect(Collectors.toList());
http://www.dnsts.com.cn/news/90001.html

相关文章:

  • 网站内容更新及时数据库课程设计报告网站开发
  • 昆山企业网站建设天津建设工程信息网报名
  • 个人网站logoWordPress自定义tag模板
  • 网站建设与规划实训报告开一个素材设计网站怎么做的
  • 丹阳网站怎么做seo济宁网站建设 帮站
  • 专业刷粉网站圣弘建设股份有限公司网站
  • 网站信息备案查询系统wordpress 视频模版
  • 网站的规划 建设与分析论文潍坊高端模板建站
  • 2017三五互联做网站怎么样游戏开发app
  • 做网站需要提供什么网站 备案 注销
  • 聊城高唐网站建设公司项目外包app
  • 贵阳做网站公司排名泉州模板建站公司
  • wordpress小型商城seo在线工具
  • 大连做网站比较好的公司建设网站需要api吗
  • 网站前端工资如何建立网址
  • 怎么查询网站备案巩义网站建设哪家专业
  • c 做网站开发实例论坛优化seo
  • php体育网站模板如何制作网页教程
  • 北京网站建设公司如何排版龙岗英文网站制作
  • 网站建设公司的公司哪家好公司部门职责与岗位职责大全范本
  • 哪个网站可以做会计题wordpress 文章地址
  • 随州网站建设全包无锡好的网站公司
  • 集团企业网站建设文案昆山小程序制作
  • 海关年检要去哪个网站上做电子商务网站建设pdf
  • 网站锚点百度公司图片
  • 家电网站建设总体目标郑州网站建设炉石
  • 什么叫百度竞价推广seo如何分析一个网站
  • 营销型企业网站测评表郑州网站建设e00
  • 平面设计比较好的网站扁平化 wordpress
  • 建设手机网站哪个平台比较好用dw做网站怎么添加水平线