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

网站推广的优势wordpress modernizr

网站推广的优势,wordpress modernizr,wordpress关闭分享,万全网站建设wl17581前言 Java 8引入了一种新的处理集合的方式——Stream API。它提供了一种高级迭代方式,支持函数式编程风格,使得集合操作更加简洁、清晰。本文将详细介绍Java 8 Stream API的核心概念、操作和使用技巧。 Stream API 简介 Stream API是Java 8中的一大亮…

前言

Java 8引入了一种新的处理集合的方式——Stream API。它提供了一种高级迭代方式,支持函数式编程风格,使得集合操作更加简洁、清晰。本文将详细介绍Java 8 Stream API的核心概念、操作和使用技巧。

Stream API 简介

Stream API是Java 8中的一大亮点,它允许你以声明式方式处理数据集合。Stream API的主要目标是提供一种高效、可组合的方式来处理数据集合。

基本概念

Stream:代表数据序列,可以是集合、数组或其他数据源。
Pipeline:由多个操作步骤组成的流水线,每个步骤都是惰性求值的。
Intermediate Operations:中间操作,返回一个新的流,可以进行多个中间操作。
Terminal Operations:终止操作,返回一个非流结果,如一个值或void。

实践

创建Stream

从集合或数组:
List<String> list = Arrays.asList("a", "b", "c");
Stream<String> stream = list.stream();
从值:
Stream<String> stream = Stream.of("a", "b", "c");
从文件:
try (Stream<String> lines = Files.lines(Paths.get("file.txt"), StandardCharsets.UTF_8)) {lines.forEach(System.out::println);
}

Intermediate Operations(中间操作)

filter:过滤元素
stream.filter(s -> s.startsWith("a")).forEach(System.out::println);
map:转换元素
stream.map(String::toUpperCase).forEach(System.out::println);
flatMap:将流中的每个元素转换为另一个流,然后将它们连接起来。
Stream<List<String>> streamOfStream = Stream.of(Arrays.asList("a", "b"), Arrays.asList("c", "d"));
streamOfStream.flatMap(List::stream).forEach(System.out::println);
利用peek进行调试

peek允许你在流的流水线中执行一个副作用操作,比如打印元素、记录日志或进行调试。peek操作不会改变流中的元素,它主要用于调试或监控流的操作。
调试流操作:

list.stream().peek(e -> System.out.println("Processing: " + e)).filter(s -> s.startsWith("a")).collect(Collectors.toList());
利用distinct去重

distinct操作可以快速从流中去除重复元素。

去除重复元素:

List<String> uniqueElements = list.stream().distinct().collect(Collectors.toList());
利用sorted进行排序

sorted操作可以对流中的元素进行排序。

排序流:

List<Integer> sortedList = list.stream().sorted().collect(Collectors.toList());
limit:限制流中元素的数量。
stream.limit(10);

Terminal Operations (终止操作)

forEach:对每个元素执行操作
stream.forEach(System.out::println);
collect:将流转换为其他形式
List<String> result = stream.collect(Collectors.toList());
reduce:通过某个连接动作将所有元素汇总成一个汇总结果
Optional<String> reduced = stream.reduce((s1, s2) -> s1 + s2);
allMatch、anyMatch、noneMatch:检查流中的元素是否与给定的谓词匹配
boolean allUpperCase = stream.allMatch(s -> s.toUpperCase().equals(s));
count: 返回流中元素的数量。
long count = stream.count();
findFirst、findAny:返回流中的第一个元素或任意一个元素。
Optional<String> first = stream.findFirst();
toArray:
将流元素转换为数组。
String[] array = stream.toArray(String[]::new);
min、max:返回流中最小或最大的元素。
Optional<String> min = stream.min(Comparator.naturalOrder());
iterate:
迭代流,直到满足终止条件。
Stream<Integer> iterate = Stream.iterate(0, n -> n + 1).limit(10);

并行流

Stream API还支持并行操作,可以利用多核处理器提高性能。

long count = list.parallelStream().filter(s -> s.startsWith("a")).count();

注意事项

惰性求值:Stream操作是惰性求值的,即只有在执行终止操作时才会执行。
不可变性:Stream操作通常会产生一个新的流,而不是修改原始流。
流的消耗:一旦流经过终止操作,它就不能再被使用。如果你需要再次使用流,需要重新创建流。
性能考虑:某些终止操作可能会对性能产生影响,尤其是在处理大数据集时。
副作用:在流操作中应谨慎使用有副作用的操作。某些终止操作可能会产生副作用,如修改外部状态或执行I/O操作。
并行流:在并行流上使用终止操作时,需要注意线程安全和数据一致性。

总结

Java 8的Stream API为集合处理提供了一种强大、灵活且表达性强的方式。通过掌握Stream API,你可以编写更简洁、更高效的代码。


good day!!!

http://www.yayakq.cn/news/282878/

相关文章:

  • 公章在线制作网站做不了做钢材什么网站好
  • 网站建设 微信开发 h5开发电脑之家
  • 网站建设代码容易出错网站上的文章经常修 内容对seo有影响吗
  • 网站设计技术大全简单网页尝试做教案
  • 网站开发用什么代码php网站开发基础教程
  • 高中生自己做 网站windows+wordpress+mi
  • 泉州个人建站模板广州网站优化推广方案
  • 山西网站建设哪家有学院网站建设 好处
  • 企业网站建设方案新闻安徽省住房和城乡建设厅官网证件查询
  • 浙江建设局图审网站免费dw网页模板
  • 集翔网大网站建设莱州网站建设制作
  • 聊城网站建设动态加快实施创新驱动发展战略
  • 网站建设的关键技术娄底网站建设开发
  • 怎样在网站上做超链接wordpress中文表单生成
  • 体育网站建设的分析西安工商注册
  • 做代练的网站襄阳市住房城乡建设部网站
  • 一站式营销推广做pc端网站适配
  • 医院网站必须建设吗网络营销经典失败案例
  • 重庆规模最大的建网站公司哪个网站可以学做咸菜
  • 做毕业网站的流程dedecms 子网站
  • 网站打开速度多少时间启东做网站
  • 一流本科专业建设点网站如何推广网站运营
  • 北京seo优化厂家seo怎么去优化
  • 北京网站建设 云智互联十大最免费软件排行榜
  • 免费注册建网站如何手机创建网站
  • 像饿了码的网站建站有吗昆明企业网站开发公司
  • 站长查询站长工具百度快照怎么打开
  • 东莞网站模板难道做网站必须用vue框架吗
  • 自己做的网站如何让别人看到上海外贸网站建设公司价格
  • 网站模板 psd5118