概述
本篇文章给大家带来了关于java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。
推荐学习:《java视频教程》
当我们说到流的时候大家就会很容易联想到IO流,以为Stream流也是IO流,其实不然。Stream流是Java8中引入的一个全新的概念,用于解决已有集合类库既有的一些弊端。既然要学习Stream流,我们就要暂时忘记IO流的传统概念。我们今天就从Stream流的概念、特点、作用、使用方法等方法详解一下Stream流,那我就一起往下看吧!
Stream流的概念
为什么要使用Stream流?
Stream流的思想类似于一个生产车间的流水线。当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”步驱方案,然后再按照方案去执行它。
Stream的两个基础的特征:
当使用一个流的时候,通常包括三个基本步骤:获取一个数据源(source)→数据转换一执行操作获取想要的结果,每次转换原有Stream对象不改变,返回一个新的Stream对象(可以有多次转换),这就允许对其操作可以像链条一样排列,变成一个管道。
Stream流的获取
通过Collection集合获取
2.Stream接口的静态方法of获取
stream流的常用方法
stream的常用方法分为两类:
以上是一些stream流的常用方法,下面我们就依次学习一下这些方法的使用。
forEach遍历方法
filter过滤方法
map映射方法(转换)
count统计元素个数方法
limit截取流元素方法
skip跳过元素方法
concat:合并方法
Stream流的练习
首先创建Person对象类
public class Person {
private String name;
public Person() {
super();
}
public Person(String name) {
super();
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Person [name=" + name + "]";
}
}
登录后复制
然后再根据习题要求用Stream流进行过滤
// 第一支队伍
// 创建集合
ArrayList<String> one = new ArrayList<>();
// 添加元素
one.add("迪丽热巴");
one.add("宋远桥");
one.add("苏星河");
one.add("石破天");
one.add("石中玉");
one.add("老子");
one.add("庄子");
one.add("洪七公");
//1.第一个队伍只要名字为3个字的成员姓名:存储到一个新集合中。
//2.第一个队伍筛选之后只要前3个人;存储到一个新集合中。
Stream<String>oneStream=one.stream().filter(name->name.length()==3).limit(3);
登录后复制
// 第二支队伍
// 创建集合
ArrayList<String> tow = new ArrayList<>();
// 添加元素
tow.add("古娜力扎");
tow.add("张无忌");
tow.add("赵丽颖");
tow.add("张三丰");
tow.add("尼古拉斯赵四");
tow.add("张天爱");
tow.add("张二狗");
//3.第二个队伍只要姓张的成员姓名;存储到一个新集合中。
//4.第二个队伍筛选之后不要前2个人;存储到一个新集合中。
Stream<String>towStream=tow.stream().filter(name->name.startsWith("张")).skip(2);
登录后复制
//5.将两个队伍合并为一个队伍;存储到一个新集台中。
//6.根据姓名创建Person对象:存储到一个新集合中,
//7.打印整个队伍的Person对象信息。
Stream.concat(oneStream,towStream).map(name->new Person(name)).forEach(p->System.out.println(p));
登录后复制
最后运行结果
总结
最后,今天的内容就学到这里啦。主要熟悉和明白Stream流的一个思想概念、会使用Stream流的获取、和熟练掌握Stream流的一些常用方法。
推荐学习:《java视频教程》
以上就是一文掌握Java8新特性Stream流的概念和使用的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是甜美水蜜桃为你收集整理的一文掌握Java8新特性Stream流的概念和使用的全部内容,希望文章能够帮你解决一文掌握Java8新特性Stream流的概念和使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复