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

深圳网站品牌建设太原网站优化推广

深圳网站品牌建设,太原网站优化推广,品牌策划公司经营范围,后台管理网站模板下载Java 8 引入了 Stream API#xff0c;它提供了一种高效且声明式的方式来处理集合数据。Stream 的核心思想是将数据的操作分为中间操作#xff08;Intermediate Operations#xff09;和终端操作#xff08;Terminal Operations#xff09;#xff0c;并通过流水线#x…Java 8 引入了 Stream API它提供了一种高效且声明式的方式来处理集合数据。Stream 的核心思想是将数据的操作分为中间操作Intermediate Operations和终端操作Terminal Operations并通过流水线Pipeline的方式执行。 以下是 Java 8 Stream 的特性及常用案例 1. Stream 的特性 1.1 声明式编程 Stream 使用声明式的方式处理数据开发者只需关注“做什么”而不是“怎么做”。例如 list.stream().filter(x - x 10).forEach(System.out::println);1.2 惰性求值Lazy Evaluation Stream 的中间操作不会立即执行只有在终端操作触发时才会执行。例如 list.stream().filter(x - x 10); // 不会立即执行1.3 不可重复使用 Stream 是一次性的一旦执行了终端操作Stream 就会被关闭不能重复使用。 1.4 并行处理 Stream 可以轻松地并行化处理数据只需调用 parallel() 方法 list.parallelStream().filter(x - x 10).forEach(System.out::println);2. Stream 的操作类型 2.1 中间操作Intermediate Operations 中间操作返回一个新的 Stream可以链式调用。常见的中间操作包括 filter()过滤元素。map()将元素映射为另一种形式。sorted()排序。distinct()去重。limit()限制元素数量。skip()跳过前 N 个元素。 2.2 终端操作Terminal Operations 终端操作会触发 Stream 的执行并返回一个非 Stream 的结果。常见的终端操作包括 forEach()遍历元素。collect()将 Stream 转换为集合。reduce()将 Stream 中的元素归约为一个值。count()统计元素数量。anyMatch()、allMatch()、noneMatch()匹配元素。findFirst()、findAny()查找元素。 3. 常用案例 3.1 过滤数据 使用 filter() 过滤集合中满足条件的元素 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5, 6); ListInteger evenNumbers numbers.stream().filter(x - x % 2 0).collect(Collectors.toList()); System.out.println(evenNumbers); // 输出: [2, 4, 6]3.2 映射数据 使用 map() 将集合中的元素映射为另一种形式 ListString names Arrays.asList(Alice, Bob, Charlie); ListInteger nameLengths names.stream().map(String::length).collect(Collectors.toList()); System.out.println(nameLengths); // 输出: [5, 3, 7]3.3 排序 使用 sorted() 对集合中的元素进行排序 ListString names Arrays.asList(Charlie, Alice, Bob); ListString sortedNames names.stream().sorted().collect(Collectors.toList()); System.out.println(sortedNames); // 输出: [Alice, Bob, Charlie]3.4 去重 使用 distinct() 去除集合中的重复元素 ListInteger numbers Arrays.asList(1, 2, 2, 3, 4, 4, 5); ListInteger uniqueNumbers numbers.stream().distinct().collect(Collectors.toList()); System.out.println(uniqueNumbers); // 输出: [1, 2, 3, 4, 5]3.5 统计 使用 count() 统计元素数量 ListString names Arrays.asList(Alice, Bob, Charlie); long count names.stream().count(); System.out.println(count); // 输出: 33.6 归约 使用 reduce() 将集合中的元素归约为一个值 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5); int sum numbers.stream().reduce(0, Integer::sum); System.out.println(sum); // 输出: 153.7 分组 使用 Collectors.groupingBy() 对集合中的元素进行分组 ListString names Arrays.asList(Alice, Bob, Charlie, Anna); MapCharacter, ListString groupedNames names.stream().collect(Collectors.groupingBy(name - name.charAt(0))); System.out.println(groupedNames); // 输出: {A[Alice, Anna], B[Bob], C[Charlie]}3.8 并行处理 使用 parallelStream() 并行处理数据 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); ListInteger evenNumbers numbers.parallelStream().filter(x - x % 2 0).collect(Collectors.toList()); System.out.println(evenNumbers); // 输出: [2, 4, 6, 8, 10]3.9 匹配 使用 anyMatch()、allMatch()、noneMatch() 进行匹配 ListInteger numbers Arrays.asList(1, 2, 3, 4, 5); boolean hasEven numbers.stream().anyMatch(x - x % 2 0); boolean allEven numbers.stream().allMatch(x - x % 2 0); boolean noneNegative numbers.stream().noneMatch(x - x 0);System.out.println(hasEven); // 输出: true System.out.println(allEven); // 输出: false System.out.println(noneNegative); // 输出: true3.10 查找 使用 findFirst() 和 findAny() 查找元素 ListString names Arrays.asList(Alice, Bob, Charlie); OptionalString first names.stream().findFirst(); OptionalString any names.stream().findAny();System.out.println(first.get()); // 输出: Alice System.out.println(any.get()); // 输出: Alice 或 Bob 或 Charlie4. 总结 Java 8 的 Stream API 提供了一种高效、简洁的方式来处理集合数据。它的主要特点包括 声明式编程代码更简洁易读。惰性求值提高性能。并行处理轻松实现并行化。 常用操作包括 过滤filter、映射map、排序sorted、去重distinct。统计count、归约reduce、分组groupingBy。匹配anyMatch、allMatch、noneMatch、查找findFirst、findAny。 通过 Stream API可以大大简化集合操作的代码并提高开发效率。
http://www.hkea.cn/news/14369701/

相关文章:

  • app和网站开发语言的区别制作动作游戏吧中文
  • 云存储做网站千图网免费海报素材图库
  • 五莲网站设计推广业务
  • 做网站需要接口么福州做网站开发需要多少钱
  • 个人介绍微电影网站模板免费下载阿里云服务器在哪里放着
  • c 网站开发调试网站焦点图设计
  • 建网站的基本流程功能性的网站设计制作
  • 呼和浩特可以做网站的公司网站描述怎么修改吗
  • 东莞市住房和城乡建设局网站wordpress示例
  • 无锡网站怎么推广效果好简单网站建设培训中心
  • 网站建设与seo论文郑州做网页的公司
  • 电子商务网站设计与建设企业微网站案例
  • 藁城专业网站建设邵阳竞价网站建设设计
  • 做app网站的软件叫什么名字网站的差异
  • thinkphp大型网站开发建设工程企业资质工作网站
  • 上上海海网网站站建设中国建设银行网站客户注册码
  • 北滘网站建设公司建站公司网站
  • 网站建设如何运营江苏建设准考证打印在哪个网站
  • 外贸网站增加权重微信网站开发需要什么技术
  • 新余 网站建设住房和城乡建设部证书
  • 网站策划建设做网站需要多少钱济宁
  • 餐饮加盟手机网站建设网站的配色方案
  • 站长之家官网入口利用ps做兼职的网站
  • 表格比较多得网站这么做响应式广告公司名称怎么取好
  • mvc4做网站五有网站可以接设计的单子做吗
  • 免备案空间网站备案wordpress翻译
  • 如何自己建网站服务器外贸营销型建站
  • iis7.5添加php网站优化网站排名推广
  • 公司的网站难不难做长沙seo培训
  • wordpress公园北京网站优化推广收集