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

伪静态一个虚拟空间做两个网站可以在线制作简历的网站

伪静态一个虚拟空间做两个网站,可以在线制作简历的网站,动漫设计专升本考什么,美容网站设计全文目录: 开篇语前言一、Stream 的概念与操作1.1 Stream 的特点1.2 创建 Stream代码示例:创建 Stream 二、中间操作与终端操作2.1 中间操作2.2 终端操作代码示例:中间操作与终端操作 三、过滤、映射与聚合操作3.1 过滤(Filter&am…

全文目录:

    • 开篇语
    • 前言
      • 一、Stream 的概念与操作
        • 1.1 Stream 的特点
        • 1.2 创建 Stream
          • 代码示例:创建 Stream
      • 二、中间操作与终端操作
        • 2.1 中间操作
        • 2.2 终端操作
          • 代码示例:中间操作与终端操作
      • 三、过滤、映射与聚合操作
        • 3.1 过滤(Filter)
          • 代码示例:使用 `filter()` 过滤元素
        • 3.2 映射(Map)
          • 代码示例:使用 `map()` 映射元素
        • 3.3 聚合操作
          • 代码示例:使用 `reduce()` 进行聚合
      • 四、并行流与性能优化
        • 4.1 并行流(Parallel Stream)
          • 代码示例:使用并行流
        • 4.2 性能优化
      • 总结:Stream API 的威力
    • 文末

开篇语

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛

  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。

  我是一名后端开发爱好者,工作日常接触到最多的就是Java语言啦,所以我都尽量抽业余时间把自己所学到所会的,通过文章的形式进行输出,希望以这种方式帮助到更多的初学者或者想入门的小伙伴们,同时也能对自己的技术进行沉淀,加以复盘,查缺补漏。

小伙伴们在批阅的过程中,如果觉得文章不错,欢迎点赞、收藏、关注哦。三连即是对作者我写作道路上最好的鼓励与支持!

前言

  在 Java 8 引入了 Stream API,这使得数据处理变得更加简洁、高效和表达力强。通过 Stream API,我们能够以声明式的方式处理集合和数组等数据源,极大地提升了代码的可读性和可维护性。今天我们将深入探讨 Stream 的概念与操作中间操作与终端操作过滤、映射与聚合操作,以及 并行流与性能优化

一、Stream 的概念与操作

Stream 是一个可以从数据源(如集合、数组、I/O 通道等)生成的元素的集合,并且通过管道化的操作对这些元素进行处理。Stream 是 不存储数据 的,它们只是数据操作的一个视图或计算过程,每个中间操作都返回一个新的 Stream。

1.1 Stream 的特点
  • 无存储:Stream 并不存储数据,它只是对数据源的一个视图。
  • 函数式编程风格:Stream 使用链式调用,使得数据处理过程更加简洁。
  • 延迟计算:Stream 的操作是懒执行的,只有在执行终端操作时,才会触发数据处理。
1.2 创建 Stream

Stream 可以从多种数据源创建,常见的创建方法包括:

  • 从集合中创建list.stream()
  • 从数组中创建Arrays.stream(array)
  • 从文件中创建Files.lines(path)
  • 使用 Stream.of() 创建Stream.of("a", "b", "c")
代码示例:创建 Stream
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;public class StreamExample {public static void main(String[] args) {// 从集合中创建 StreamList<String> list = Arrays.asList("a", "b", "c");list.stream().forEach(System.out::println);  // 使用 forEach 遍历// 从数组中创建 StreamString[] array = {"1", "2", "3"};Arrays.stream(array).forEach(System.out::println);// 使用 Stream.of 创建 StreamStream<String> stream = Stream.of("x", "y", "z");stream.forEach(System.out::println);}
}

二、中间操作与终端操作

Stream API 中的操作可以分为 中间操作终端操作

2.1 中间操作

中间操作返回一个新的 Stream,因此它们是 惰性 的操作。常见的中间操作包括:

  • filter():过滤流中的元素。
  • map():对流中的每个元素进行操作,返回新的元素。
  • flatMap():将元素转换成多个元素并平铺,通常用于嵌套集合的扁平化。
  • sorted():对流中的元素进行排序。
  • distinct():去重操作。
2.2 终端操作

终端操作会触发 Stream 的计算,并且会将结果返回或输出。常见的终端操作包括:

  • forEach():对流中的每个元素进行操作。
  • collect():将 Stream 转换为其他数据结构(如 List、Set、Map)。
  • reduce():通过一个累加器将流中的元素聚合成一个结果。
  • count():返回流中元素的数量。
  • anyMatch()allMatch()noneMatch():用于判断流中的元素是否匹配某些条件。
代码示例:中间操作与终端操作
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;public class StreamOperationsExample {public static void main(String[] args) {List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);// 中间操作:filter 和 mapList<Integer> result = numbers.stream().filter(n -> n % 2 == 0)  // 过滤偶数.map(n -> n * n)          // 对每个元素平方.collect(Collectors.toList());  // 终端操作:收集结果System.out.println(result);  // 输出: [4, 16, 36, 64]// 终端操作:forEachnumbers.stream().forEach(System.out::println);}
}

三、过滤、映射与聚合操作

Stream API 提供了强大的数据处理能力,包括过滤、映射、聚合等操作。

3.1 过滤(Filter)

filter() 中间操作用于过滤符合条件的元素,返回一个新的 Stream。

代码示例:使用 filter() 过滤元素
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream().filter(n -> n % 2 == 0)  // 过滤偶数.collect(Collectors.toList());
System.out.println(evenNumbers);  // 输出: [2, 4, 6]
3.2 映射(Map)

map() 中间操作用于将流中的每个元素进行转换,并返回新的流。

代码示例:使用 map() 映射元素
List<String> words = Arrays.asList("hello", "world", "java");
List<String> upperCaseWords = words.stream().map(String::toUpperCase)  // 将每个字符串转换为大写.collect(Collectors.toList());
System.out.println(upperCaseWords);  // 输出: [HELLO, WORLD, JAVA]
3.3 聚合操作

Stream 提供了 reduce() 方法用于聚合流中的元素,通常用于求和、求积等操作。

代码示例:使用 reduce() 进行聚合
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream().reduce(0, Integer::sum);  // 求和
System.out.println(sum);  // 输出: 15

  reduce() 方法接受两个参数:初始值和一个 BinaryOperator 函数,这里用来对流中的所有元素进行求和操作。


四、并行流与性能优化

4.1 并行流(Parallel Stream)

Java 的 Stream API 支持 并行流,它利用多核 CPU 的优势,将流中的操作并行化。通过 parallelStream()stream().parallel() 方法可以轻松创建并行流。

  • 优势:对于计算密集型任务,使用并行流可以显著提升性能。
  • 劣势:对于 IO 密集型任务,并行流并不会提高性能,反而可能导致线程切换开销增加。
代码示例:使用并行流
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
int sum = numbers.parallelStream()  // 创建并行流.reduce(0, Integer::sum);  // 求和
System.out.println(sum);  // 输出: 45

  在此例中,parallelStream() 创建了一个并行流,流中的元素将由多个线程并行处理,从而提高性能。

4.2 性能优化
  • 避免不必要的操作:Stream 是惰性执行的,但每个中间操作都可能带来性能开销。在实际使用中,应该尽量避免不必要的中间操作。
  • 使用并行流:对于大量的数据处理任务,可以考虑使用并行流进行优化。
  • 减少内存复制:对于大的数据集,尽量避免不必要的内存复制和数据复制。

总结:Stream API 的威力

  通过 Java 8 引入的 Stream API,我们能够以简洁的方式处理集合和数组中的数据。通过流的中间操作和终端操作,开发者可以轻松地进行过滤、映射和聚合等数据处理。并行流提供了一个便捷的方式来充分利用多核 CPU,从而加速计算密集型任务的执行。

  掌握 Stream API,你可以编写更加简洁、高效的代码,轻松应对大规模数据的处理和并行计算任务!

… …

文末

好啦,以上就是我这期的全部内容,如果有任何疑问,欢迎下方留言哦,咱们下期见。

… …

学习不分先后,知识不分多少;事无巨细,当以虚心求教;三人行,必有我师焉!!!

wished for you successed !!!


⭐️若喜欢我,就请关注我叭。

⭐️若对您有用,就请点赞叭。
⭐️若有疑问,就请评论留言告诉我叭。


版权声明:本文由作者原创,转载请注明出处,谢谢支持!

http://www.dtcms.com/a/505745.html

相关文章:

  • 长春网站上排名石家庄做网站建设公司
  • 湖北住房城乡建设厅网站首页nas做网站需要备案吗
  • 洛阳有建社网站的吗网站建设是程序员吗
  • 公司网站怎么做网站开发 需求文档
  • 营销网站外包正邦设计总部都空了
  • 做个网站得投入多少本科专业建设规划
  • 黄骅做网站_黄骅昊信科技|黄骅网站|黄骅网站开发|黄骅微信|黄骅网站源码模块
  • 临安区规划建设局网站网站 运营 外包 每个月多少钱
  • 江门网站建设套餐技术培训ui设计
  • 加盟型网站华为建站
  • 金华企业网站建站模板珠海室内设计学校
  • 怎样开建网站前端如何优化seo
  • 麻涌手机网站设计张雪峰谈电子商务
  • 宁波建网站公司哪家hao电商分销平台有哪些
  • 怎么学习建设网站抚顺网站开发
  • 龙中龙网站开发表白网页
  • 响应式购物网站设计网站图片大小多少合适
  • canvas做的手机网站城乡互动联盟网站建设
  • 商城网站要多少钱海淀中小企业网站开发
  • 海南论坛网站建设亚马逊计划裁员1万人
  • 如何给自己的公司建网站网站开发免责合同
  • 做php网站前端网站数据分析建设
  • app运营策略seo是什么姓氏
  • 德州网站建设的公司网站会员注册系统
  • 路由器做网站80端口网站开发应用技术专业
  • wordpress上传网站专门做效果图的网站
  • 商业网站有哪些做网站构思
  • 百度导航最新版本下载安装360 网站优化
  • 手机网站怎么制作内容asp.net sql server网站建设 pdf
  • 做哪些网站不受法律保护贵州省铜仁市城乡建设局网站