• 使用传统方式遍历集合过滤元素和使用流遍历集合过滤元素的区别


    • 使用传统的方式,遍历集合,对集合中的数据进行过滤
    1. package com.csdn.stream;
    2. import java.util.ArrayList;
    3. import java.util.Collections;
    4. import java.util.List;
    5. public class Demo01List {
    6. public static void main(String[] args) {
    7. List list = new ArrayList<>();
    8. Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");
    9. //对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
    10. List listA = new ArrayList<>();
    11. for (String s : list) {
    12. if (s.startsWith("张")) {
    13. listA.add(s);
    14. }
    15. }
    16. //对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
    17. List listB = new ArrayList<>();
    18. for (String s : listA) {
    19. if (s.length()==3) {
    20. listB.add(s);
    21. }
    22. }
    23. //遍历listB集合
    24. for (String s : listB) {
    25. System.out.print(s+"\t");//张无忌 张三丰
    26. }
    27. }
    28. }
    •  使用Stream流的方式,遍历集合,对集合中的数据进行过滤
    • Stream流是JDK1.8之后出现的,关注的是做什么,而不是怎么做
    1. package com.csdn.stream;
    2. import java.util.ArrayList;
    3. import java.util.Collections;
    4. import java.util.List;
    5. public class Demo02Stream {
    6. public static void main(String[] args) {
    7. List list = new ArrayList<>();
    8. Collections.addAll(list, "张无忌", "周芷若", "赵敏", "张强", "张三丰");
    9. //对list集合中的元素进行过滤,只要以张开头的元素,存储到一个新的集合中
    10. //对listA集合进行过滤,只要姓名长度为3的人,存储到一个新集合中
    11. //遍历listB集合
    12. // list.stream().filter(name -> name.startsWith("张"))
    13. // .filter(name -> name.length() == 3)
    14. // .forEach(name -> System.out.println(name));
    15. list.stream().filter(name -> name.startsWith("张"))
    16. .filter(name -> name.length() == 3)
    17. .forEach(System.out::println);
    18. // 张无忌
    19. // 张三丰
    20. }
    21. }
  • 相关阅读:
    uniapp引入vant报错
    数据分析入门必看|数据分析到底应该学什么?
    mybatis
    R语言连接 Spark
    山海鲸可视化B/S架构应用
    caffeine学习笔记
    节点电价形成机制
    【PostgreSQL】【存储管理】表和元组的组织方式
    价值驱动的数字化转型
    Spring - 常见编程错误之Bean的定义
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/133828505