Steam流基本操作

Stream流

一、Stream流的生成方式

  1. Collection体系的集合可以使用默认方法stream()生成流

    1. default Stream stream()
    List list = new ArrayList<>();
    Stream listStream = list.stream();
    
    Set set = ne HashSet<>();
    Stream setStream = set.stream();
    
  2. Map体系的集合间接的生成流

    Map map = new HashMap<>();
    Stream keyStream = map.keySet().stream();
    Stream valueStream = map.values().stream();
    Stream> entryStream = map.entrySet.stream();
    
  3. 数组可以通过Stream接口的静态方法of(T ... values)生成流

    String strArray = {"hello", "world", "java"};
    Stream str1 = Stream.of(strArray);
    Stream str2 = Stream.of(10, 20, 30); 
    

二、Stream流常见中间方法

方法 作用
Stream filter(Predicate predivate) 用于对流中的数据进行过滤
Stream limit(long maxSize) 返回此流中的元素组成的流,截取前指定参数个数的数据
Stream skip(long n) 跳过指定参数个数的数据,返回由该流的剩余元素组成的流
static Stream concat(Stream a, Stream b) 合并a和b两个流为一个流
Stream distinict() 返回由该流不同的元素(equals())组成的流
Stream sorted() 返回由此流的元素组成的流,根据自然顺序排序
Stream sorted(Comparator comparator) 返回由该元素组成的流,根据提供的Comparator进行排序
Stream map(Function mapper) 返回由给定函数应用于此流的元素的结果组成的流
IntStream mapToInt(ToIntFunction mapper) 返回一个IntStream其中包含将给定函数应用于此流的元素的结果

三、Stream流常见终结操作方法

方法 作用
void forEach(Consumer action) 对此流的每个元素执行操作
long count() 返回此流中的元素数

四、Stream流的收据操作

1.收集方法

  • R collect(Collector collector)
  • 但是这个收集方法的参数是一个Collector接口

2.工具类Collectors

  • public static Collector toList():把元素收集到List集合
  • public static COllector toSet():把元素收集到Set集合
  • public static Collector toMap(Fuction keyMapper, Fuction valueMapper):把元素收集到Map集合

你可能感兴趣的:(Steam流基本操作)