IT评测·应用市场-qidao123.com

标题: Stream流体系 [打印本页]

作者: 愛在花開的季節    时间: 2023-5-22 21:46
标题: Stream流体系
视频地址https://www.bilibili.com/video/BV1Cv411372m?

1 Stream流概述

2 Stream流获取



  1.         /***Collection集合获取流********/
  2.         Collection<String> list  = new ArrayList<>();
  3.         Stream<String> s = list.stream();
  4.         /*** Map集合获取流*/
  5.         Map<String,Integer> maps = new HashMap<>();
  6.         //键流
  7.         Stream<String> keyStream = maps.keySet().stream();
  8.         // 值流
  9.         Stream<Integer> valueStream = maps.values().stream();
  10.         //键值对流(拿整体)
  11.         Stream<Map.Entry<String, Integer>> keyAndValueStream = maps.entrySet().stream();
复制代码
  1.         /**数组获取流****/
  2.         String[] names = {"张三","李四","王五","范二"};
  3.         Stream<String> nameStream = Arrays.stream(names);
  4.         Stream<String> nameStream2 = Stream.of(names);
复制代码
3 Stream流的常用API

3-1 中间操作方法


注意:
示例
  1. list.stream().filter(s->s.startsWith("张")).forEach(s-> System.out.println(s));
复制代码
  1. long size = list.stream().filter(s -> s.length() == 3).count();
复制代码
forEach(s -> System.out.println(s)
当s和sout内的s是相同元素时,可以简写成System.out::println
filter代表开始过滤,->代表开始过滤,
  1. list.stream().filter(s -> s.startsWith("张")).limit(2).forEach(s -> System.out.println(s));
  2. list.stream().filter(s -> s.startsWith("张")).limit(2).forEach(System.out::println);
复制代码
  1. list.stream().filter(s -> s.startsWith("张")).skip(2).forEach(System.out::println);
复制代码

  1. list.stream().map(s -> "xxxx"+s).forEach(System.out::println);
复制代码
  1. 2为1的简写
  2. 1、list.stream().map(s -> new Student(s)).forEach(System.out::println);
  3. 2、list.stream().map(Student::new).forEach(System.out::println);
复制代码
[code]//public static  Stream concat(Stream




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4