java当中Stream流的用法
当提到Java中的Stream流时,通常指的是Java 8引入的java.util.stream.Stream类,它提供了一种便捷的处理集合数据的方式。以下是一些常见的Stream流用法:
- 创建Stream流:
- 通过集合创建:List.stream(), Set.stream(), Map.entrySet().stream()
- 通过数组创建:Arrays.stream()
- 通过值创建:Stream.of()
- 使用Stream.builder()手动构建
- 过滤数据:
- filter(Predicate)
- distinct():去重
- limit(long n):限制元素数量
- skip(long n):跳过元素
- 映射转换:
- map(Function):将元素映射到另一个值
- flatMap(Function):将多个Stream合并成一个Stream
- mapToInt(), mapToDouble(), mapToLong(): 将Stream转换为IntStream、DoubleStream或者LongStream
- 匹配和查找:
- anyMatch(Predicate)
- allMatch(Predicate)
- noneMatch(Predicate)
- findFirst()
- findAny()
- 归约操作:
- reduce(): 执行归约操作
- count(): 统计元素数量
- max(Comparator) 和 min(Comparator):查找最大值和最小值
- sum(), average(): 计算和与平均值
- 排序和比较:
- sorted():对元素排序
- sorted(Comparator):使用自定义比较器排序
- 并行流处理:
- parallelStream(): 将Stream转换为并行流,利用多核处理数据
- 收集结果:
- collect(Collectors):将Stream中的元素收集到一个集合中
- toList(), toSet(), toMap(), joining()等方法
这些只是Java Stream API中的一部分常见用法,实际上还有很多其他功能和操作可供使用。