stream流

本文介绍了Java中的Stream流,包括其作为元素序列的特点、来源于集合或数组等输入源、支持的聚集操作如filter、map、limit等。还提到了流的内部迭代特性和两种产生流的方法:stream()和parallelStream()。此外,文章详细讲解了forEach、map、filter、limit和sorted等常用方法的应用。
摘要由CSDN通过智能技术生成

标题主要包含以下知识点:

Stream 流
FlatMap
Steam流
Stream 代表了来自某个源的对象的序列,这些序列支持聚集操作。下面是 Stream 的一些特性:

元素序列:Stream 以序列的形式提供了特定类型的元素的集合。根据需求,它可以获得和计算元素,但不会储存任何元素。
:Stream 可以将集合、数组和 I/O 资源作为输入源。
聚集操作:Stream 支持诸如filter、map、limit、reduce等的聚集操作。
流水技术:许多 Stream 操作返回了流本身,故它们的返回值可以以流水的形式存在。这些操作称之为中间操作,并且它们的功能就是负责输入、处理和向目标输出。collect()方法是一个终结操作,通常存在于流水线操作的末端,来标记流的结束。
自动迭代:Stream 的操作可以基于已提供的源元素进行内部的迭代,而集合则需要显式的迭代。

相关方法

集合的接口有两个方法来产生流:

stream():该方法返回一个将集合视为源的连续流。
parallelStream():该方法返回一个将集合视为源的并行流。
常用方法
forEach:该方法用于对 Stream 中的每个元素进行迭代操作。
map:该方法用于将每个元素映射到对应的结果上。
filter:该方法用于过滤满足条件的元素。
limit:该方法用于减少 Stream 的大小。
sorted:该方法用于对 Stream 排序。
有一个很长的例子:

import java.util.ArrayList;
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import java.util.Map;

public class StreamTest {
   
   public static void main(String args[]){
   

      // 使用Java 8的新特性

      List<String> strings = Arrays.asList("efg", "", "abc", "bc", "ghij","", "lmn");

      System.out.println("Using Java 8: ");
      System.out.println("List: " +strings);

      long count = strings.stream().filter(string->string.isEmpty()).count();
      System.out.println(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啤酒烧烤小烧腰

感谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值