count

package com.yang.Test.StreamStudy;

import java.util.stream.Stream;

/**
* 统计荷属:count
* 正如旧集合Collection当中的size方法一样,流提供count方法来数一数其中的元素个数
* long count();
* 该方法返回一个long的值表示元素的个数(不再像旧集合那用是int值)
*/
public class CountStudy {
public static void main(String[] args) {
Stream<String> stream = Stream.of("张无忌", "张三丰", "周芷若");
// System.out.println(stream.count()); long count = stream.filter(s -> {
return s.startsWith("张");
}).count();
System.out.println(count); }
}

运行结果:

limit

取用前几个:limit

limit方法可以对流进行截取,只取用前n个。方法签名:

Stream limit(long maxSize);

参数是一个Long类型,如果集合当前长度大于参数则进行截取;否则不进行操作。基本使用:

代码:

package com.yang.Test.StreamStudy;

import java.util.stream.Stream;

/**
* limit方法可以对流进行截取,只取用前n个。方法签名:
* Stream<T> limit(long maxSize);
* 参数是一个Long类型,如果集合当前长度大于参数则进行截取;否则不进行操作。基本使用:
*/
public class LimitStudy {
public static void main(String[] args) {
Stream<String> stream = Stream.of("张三", "李四", "王五", "赵六", "田七");
stream.limit(4).forEach(s -> System.out.println(s));
}
}

运行结果:

skip

跳过前几个:skip

如果希望跳过前几个元素,可以使用skip方法获取一个截取之后的新流

String skip(long n);

如果流当前的长度大于n,则跳过前n个;否则将会得到一个长度为0的空流。基本使用:

代码实现:

package com.yang.Test.StreamStudy;

import java.util.stream.Stream;

/**
* 如果希望跳过前几个元素,可以使用skip方法获取一个截取之后的新流
* String<T> skip(long n);
* 如果流当前的长度大于n,则跳过前n个;否则将会得到一个长度为0的空流
*/
public class SkipStudy {
public static void main(String[] args) {
//获取一个Stream流
String[] arr = {"张三", "李四", "王五", "赵六", "田七"};
Stream<String> stream = Stream.of(arr); stream.skip(3).forEach(s -> System.out.println(s));
}
}
![image](uploading...)

运行结果:

concat

组合:concat

如果有两个流,希望合并称为一个流,那么可以使用Stream接口的静态方法concat:

static Stream concat(Stream<? extends T> a,Stream<? extends T> b)

这是一个静态方法,与java.lang.String当中的concat方法是不同的

代码实现:

package com.yang.Test.StreamStudy;

import java.util.stream.Stream;

public class ConcatStudy {
public static void main(String[] args) {
Stream<String> streamA = Stream.of("张三");
Stream<String> streamB = Stream.of("李四"); Stream<String> result = Stream.concat(streamA, streamB);
result.forEach(s -> System.out.println(s)); }
}

运行结果:

Stream流中的常用方法的更多相关文章

  1. Stream流的特点_只能使用一次和Stream流中的常用方法_map

    Stream流的特点_只能使用一次 public class FilterStudy04 { public static void main(String[] args) { //创建一个Stream ...

  2. Stream流中的常用方法foeEach和Stream流中的常用方法filter

    延迟方法:返回值类型仍然是Stream接口自身类型的方法,因此支持链式调用.(除了中介方法外,其余方法均为延迟方法) 终结方法:返回值类型不再是Stream接口自身类型的方法,因此不再支持类似Stri ...

  3. JDK 8 中Stream流中的去重的方法

    JDK 8 中Stream流中去重的方法 1.简单的去重,可以使用distinct()方法去重,该方法是通过比较equals和hashcode值去去重, 2.复杂的去重, 例如,在一个JavaBean ...

  4. 【JDK8】JDK 8 中Stream流中的去重的方法

    JDK 8 中Stream流中去重的方法 1.简单的去重,可以使用distinct()方法去重,该方法是通过比较equals和hashcode值去去重, 2.复杂的去重, 例如,在一个JavaBean ...

  5. Stream流思想和常用方法

    一.IO流用于读写:Stream流用于处理数组和集合数据: 1.传统集合遍历: 2.使用Stream流的方式过滤: 其中,链式编程(返回值就是对象自己)中,filter使用的是Predicate函数式 ...

  6. node.js中stream流中可读流和可写流的使用

    node.js中的流 stream 是处理流式数据的抽象接口.node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例. 流可以 ...

  7. java中的Stream流

    java中的Stream流 说到Stream便容易想到I/O Stream,而实际上,谁规定"流"就一定是"IO流"呢?在Java 8中,得益于Lambda所带 ...

  8. JAVA-基础(Stream流)

    说起stream流大家的第一反应是io,但是实际上谁规定流一定是存在io包里呢?在java8中得益于Lambda表达式的函数式编程,引入了一个全新的概念,stream. 1.优势? 在java8之前我 ...

  9. ASP.NET Core MVC中Controller的Action如何直接使用Response.Body的Stream流输出数据

    在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让 ...

随机推荐

  1. Nacos源码系列—服务端那些事儿

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 前言 在上节课中,我们讲解了客户端注册服 ...

  2. 【DIY】【CSAPP-LAB】深入理解计算机系统--datalab笔记

    title: 前言 <深入理解计算机系统>一书是入门计算机系统的极好选择,从其第三版的豆瓣评分9.8分可见一斑.该书的起源是卡耐基梅龙大学 计算机系统入门课(Introduction to ...

  3. 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》

    论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...

  4. 【Azure 环境】【Azure Developer】使用Python代码获取Azure 中的资源的Metrics定义及数据

    问题描述 使用Python SDK来获取Azure上的各种资源的Metrics的名称以及Metrics Data的示例 问题解答 通过 azure-monitor-query ,可以创建一个 metr ...

  5. 关于Spring中的useSuffixPatternMatch

    背景 spring-boot的版本是2.1.4.RELEASE,spring的版本是5.1.6.RELEASE 一个例子如下: @Configuration @Import(WebMvcAutoCon ...

  6. vc2010以及VS2019安装使用教程

    一.vc2010的安装教程. ①下载(由于是一个离线文件,可关注后找我) ②下载好并解压安装文件后,打开解压后的文件进行运行安装. 点击"setup"根据提示安装即可. ③安装后点 ...

  7. linux篇-Centos7构建NFS服务器和连接

    准备两台centos7虚拟机 192.168.30.133 192.168.30.129 2.192.168.30.1(服务端), 3查看rpc服务是否启动 4测试安装是否成功 5修改配置文件vi/e ...

  8. 个人冲刺(七)——体温上报app(二阶段)

    冲刺任务:完成特殊情况功能 MoreActivity.java package com.example.helloworld; import android.content.Intent; impor ...

  9. 为什么Java有了synchronized之后还造了Lock锁这个轮子?

    众所周知,synchronized和Lock锁是java并发变成中两大利器,可以用来解决线程安全的问题.但是为什么Java有了synchronized之后还是提供了Lock接口这个api,难道仅仅只是 ...

  10. Eoapi — 一个可拓展的开源 API 工具

    ​ 在社区中时常会出现"抱怨某商业产品越来越臃肿"的声音,API 工具也是如此.从最早期只做 API 调试的工具,到经过多年的演进后集成全面功能的"庞然大物", ...