当前位置:   article > 正文

Stream的常用方法_javascript stream

javascript stream

1. Stream的常用方法

目的:用于简化集合和数组操作的API,结合了Lambda表达式

  1. //1.得到集合的Stream流对象,再使其封装
  2. Stream<String> stream = list.stream();
  3. //2.过滤数据
  4. stream.filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).forEach(s -> System.out.println(s));
  5. //3.统计数据
  6. long size = list.stream().filter(s -> s.startsWith("张")).filter(s -> s.length() == 3).count();
  7. System.out.println(size);
  8. //4.取前几个,跳过前几个元素
  9. list.stream().limit(2).forEach(s->System.out.println(s));
  10. list.stream().skip(2).forEach(s->System.out.println(s));
  11. //5.map加工法
  12. //需求:把所有人的名字前面加上一个ypp
  13. list.stream().map(s->"ypp:"+s).forEach(s->System.out.println(s));
  14. list.stream().map((s->new Student(s))).forEach(s->System.out.println(s));
  15. //6.concat合并流
  16. Stream<String> s1=list.stream();
  17. List<String> l1=new ArrayList<>();
  18. Stream<String> s2=l1.stream();
  19. Stream<String> concat = Stream.concat(s1,s2);

2.Stream流的收集操作

含义:把Stream流操作后的结果数据转回到集合和数组中去

Stream流:方便操作集合/数组的手段

集合/数组:才是开发的目的 
Stream流的收集方法:

  1. List<String> l1 = new ArrayList<>();
  2. l1.add("张三");
  3. l1.add("张三");
  4. l1.add("张三");
  5. l1.add("李四");
  6. l1.add("王五");
  7. l1.add("赵六");
  8. l1.add("张六流");
  9. Stream<String> s1 = l1.stream().filter(s->s.startsWith("张"));
  10. System.out.println(s1);
  11. //List<String> list = s1.toList();
  12. //System.out.println(list);
  13. //把Stream流转换为可变的list的集合
  14. List<String> collect = s1.collect(Collectors.toList());
  15. collect.add("王五");
  16. System.out.println(collect);
  17. //收集成Set集合
  18. Stream<String> s2 = l1.stream().filter(s->s.startsWith("张"));
  19. Set<String> name1=s2.collect(Collectors.toSet());
  20. name1.add("111");
  21. System.out.println(name1);
  22. //收集成数组
  23. Stream<String> s3=l1.stream().filter(s->s.startsWith("张"));
  24. String[] arr2=s3.toArray(s->new String[s]);
  25. System.out.println("内容是"+ Arrays.toString(arr2));

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号