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

佛山网站建设锐艺传播网站建设有几种方式

佛山网站建设锐艺传播,网站建设有几种方式,鲜花网站建设的项目介绍,十大抖音代运营公司先给个示例#xff0c;展示Java 8流API的优势 假设我们有以下任务#xff1a; 给定一个字符串列表#xff0c;我们需要执行以下操作#xff1a; 筛选出所有以A开头的字符串。 将这些字符串转换为大写。 对这些字符串按照长度进行排序。 最后#xff0c;将…先给个示例展示Java 8流API的优势 假设我们有以下任务 给定一个字符串列表我们需要执行以下操作 筛选出所有以A开头的字符串。 将这些字符串转换为大写。 对这些字符串按照长度进行排序。 最后将这些字符串连接成一个以逗号分隔的单个字符串。 Java 7及之前的实现 在Java 7中实现这一功能需要多步骤处理涉及到循环、条件判断、排序和字符串拼接等多个环节。 ListString inputList Arrays.asList(Apple, An, Banana, Avocado, Apricot, Blueberry); ListString filteredList new ArrayListString(); for (String s : inputList) {if (s.startsWith(A)) {filteredList.add(s.toUpperCase());} } Collections.sort(filteredList, new ComparatorString() {public int compare(String s1, String s2) {return Integer.compare(s1.length(), s2.length());} });StringBuilder sb new StringBuilder(); for (int i 0; i filteredList.size(); i) {sb.append(filteredList.get(i));if (i filteredList.size() - 1) {sb.append(, );} } String result sb.toString();Java 8使用流的实现 相同的任务可以使用Java 8的流API以更简洁、更直观的方式实现 ListString inputList Arrays.asList(Apple, An, Banana, Avocado, Apricot, Blueberry); String result inputList.stream().filter(s - s.startsWith(A)).map(String::toUpperCase).sorted(Comparator.comparingInt(String::length)).collect(Collectors.joining(, ));对比 在Java 7的实现中我们需要显式地进行循环、条件判断、排序和字符串拼接这不仅使代码变得更长也使得逻辑更难以一眼看明。而在Java 8的实现中所有这些操作都被整合进了一个流水线式的链式调用中每个步骤都清晰、直观。filter、map、sorted和collect等方法的使用使得代码更易读和维护。特别是使用Collectors.joining直接将筛选和转换后的字符串列表拼接成一个字符串大大简化了代码。这个例子清楚地展示了Java 8流API的强大能力特别是在处理复杂的集合操作时其优势是非常明显的。 一、什么是流Stream Java 8的流Stream是对集合对象功能的增强它专注于对集合对象进行各种非常便利、高效的聚合操作aggregate operation或者大批量数据操作bulk data operation。Stream API可以极大提高Java程序员的生产力让程序员写出高效、干净、简洁的代码。 Java 8的Stream API提供了一种高效、声明式处理集合的方法。使用Stream API你可以对集合执行复杂的查询、过滤、转换、排序等操作而无需关心底层的实现细节。 二、为什么要用流 Java 8引入了流Stream是为了更方便、更灵活地处理集合数据。流提供了一种新的抽象让开发者能够以声明性的方式对数据进行操作而不再需要显式地使用迭代器或写大量的循环代码。 三、不用流会怎样 虽然不使用流仍然可以实现相同的功能但使用流可以提供更简洁、更高效、更易于维护的代码尤其是在处理复杂的数据操作时。流API是Java 8中的一个重要特性它极大地改善了Java语言在处理集合方面的能力。 四、流Stream有啥特点 不是数据结构它不存储数据只是用来操作数据源如集合、数组等中的数据。不改变原对象它不会修改原对象相反它会返回一个持有结果的新Stream。惰性执行操作是延迟执行的这意味着它们会等到需要结果的时候才执行。可消费性Stream只能被消费一次。一旦遍历过就会失效。 五、流的常用方法 Stream操作分为两种中间操作和终端操作。 中间操作 map (映射)将元素转换成其他形式或提取信息。 stream.map(String::toUpperCase);filter (过滤)排除某些元素。 stream.filter(e - e.length() 2);sorted (排序)确保流按照某种准则排序。 stream.sorted(Comparator.comparingInt(String::length));limit (限制)减少流的大小。 stream.limit(5);distinct (去重)通过流所生成元素的 hashCode() 和 equals() 去除重复元素。 stream.distinct();终端操作 forEach (迭代)迭代流中的每个数据。 stream.forEach(System.out::println);collect (收集)将流转换为其他形式。 ListString list stream.collect(Collectors.toList());reduce (归约)将流中的所有元素重复结合起来得到一个值。 Integer sum numbers.stream().reduce(0, Integer::sum);anyMatch、allMatch、noneMatch (匹配)检查流中是否有一个或多个元素匹配给定的谓词。 boolean anyMatch stream.anyMatch(e - e.startsWith(A));count (计数)返回流中元素的个数。 long count stream.count();findFirst、findAny (查找)返回流中的第一个或任意一个元素。 OptionalString first stream.findFirst();六、示例 ListString myList Arrays.asList(a1, a2, b1, c2, c1);myList.stream().filter(s - s.startsWith(c)).map(String::toUpperCase).sorted().forEach(System.out::println); // C1, C2在此示例中stream() 创建了一个流filter() 方法过滤掉非 “c” 开头的字符串map() 方法将每个字符串转换为大写sorted() 方法对字符串进行排序最后 forEach() 方法打印每个元素。
http://www.hkea.cn/news/14531882/

相关文章:

  • 如何做挂qq的网站wordpress心得
  • 比较简洁大方的网站wordpress数据库删不掉
  • 优秀的电商设计网站有哪些网页打不开显示403怎么回事
  • 优秀作文大全网站如何做网站的书籍
  • 生成图片的网站大连网络开发公司
  • 建设网站 软件推荐最好的锦州网站建设
  • 郑州做网站zztuotian北京 网站设计 地址通州
  • 惠东东莞网站建设微信连接微网站
  • 麓谷做网站的公司网络营销组合策略
  • 官方网站开发公司排名房屋平面设计软件手机版
  • 有哪些是用到了网站推广跨境电商开发公司
  • 中国建设网官方网站企业登录wordpress 如何优化
  • 做商城网站需要多少钱做素材网站存储问题
  • 在线阅读网站开发教程自适应科技公司网站模板
  • 建设网站和备案优秀网站评析
  • 网站群 seo创新的盐城网站开发
  • 网站开发有哪些风险淘宝新闻最新消息
  • 广州建设网站外包wordpress视觉差
  • 哪儿有那种网站遵义做网站 0852t
  • 网站域名空间合同精品网站建设费用 尖端磐石网络
  • 做软件的网站php深圳网站制作建设哪家专业
  • 旅游网站建设设计ftp网站怎么建立
  • 江门网站开发多少钱官网网页模板
  • 免费空间访客100个网站嘉兴市建设教育网站
  • 江苏建设厅施工员证报名网站北京监理建设协会网站
  • 网站开发客户提供素材抵押网站建设方案
  • 山东专业网站seo收录网站的平台有哪些
  • 建立一个公司的网站wordpress文章表格
  • 网站添加手机站许昌企业网站建设
  • 网站开发必须要要掌握的语言wordpress侧边栏插件