本篇内容主要讲解“Java的Stream流实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的Stream流实例分析”吧!上篇文章讲了Java 8 的一个新特性:Lambda表达式,在业务中若能熟练的使用,可以节省很多代码量,看着也整洁很多。那么这篇文章将介绍另一个新特性:Stream流,不要看错哈!!!不是打游戏的steam!!Stream是Java 8 提出的一个新概念,不是输入输出的 Stream 流(和IO流其实没有任何关系哈),而是一种使用函数式编程方式在集合类上进行操作的工具。简而言之,是以内部迭代的方式处理集合数据的操作,内部迭代可以将更多的控制权交给集合类。Stream 和 Iterator 的功能类似,只是Iterator 是以外部迭代的形式处理集合数据的操作。当然Stream也有自己特性:1.不是一种数据结构,不会存数据,只是在原数据集上定义了一组操作2.这些操作是惰性的,即每当访问到流中的一个元素,才会在此元素上执行这一系列操作3.因为不保存数据,故每个Stream流只能使用一次。Stream流的实现图:想要用Stream流来操作集合,那么就需要将数组或者集合先转换成Stream流才可以操作Stream的官方文档:先来看四个方法:1.filter:通过lambda表达式来实现条件过滤2.limit:截取流,截取一段流3.skip:跳过流4.distinct:去除重复免费云主机域名创建Stream:输出://遍历并去重后的结果:
aa
bb
cc
dd
//用过Stream流操作完集合后还可以再转换成一个新的集合
[aa, bb, cc, dd]四个方法的操作:Person类:这个类代码比较多,所有不把get/set方法写进去了,大家的使用的时候别忘!!测试类:结合了lambda表达式来写看看结果:返回年龄大于20岁的学生集合
信息表:{name=’王一’, age=30, country=’中国’, sex=M}
信息表:{name=’李四’, age=29, country=’日本’, sex=F}
信息表:{name=’小美’, age=74, country=’英国’, sex=M}
信息表:{name=’熊大’, age=66, country=’韩国’, sex=F}
返回年龄大于50岁的集合
[信息表:{name=’小美’, age=74, country=’英国’, sex=M}, 信息表:{name=’熊大’, age=66, country=’韩国’, sex=F}]
返回年龄大于20岁的中国人
信息表:{name=’熊大’, age=66, country=’韩国’, sex=F}
返回年龄大于20 中国 性别M
信息表:{name=’王一’, age=30, country=’中国’, sex=M}小结:使用Stream流可以容易操作数组或者集合,可以结合Lambda表达式,可以让一句表达式整洁明了,其实既然是Java退出的新特性,那么肯定是有用处的。输出:1
2
3
4
—————-
[tom, 赵四, 巴基斯, 思密达]Stream内还有一个anyMatch(Predicate predicate)
的方法:返回此流中的任何元素是否匹配所提供的词Demo:输出:有没有名字包含燕的同学:true
有没有名字开头是王的同学:true
有没有名字结尾是杰的同学:true
所有同学的名字都是两个字以上的吗true
所有同学的名字都有王吗?true
集合中都没有包含’燕’这个字吗true使用anyMatch()里面的方法可以很容易对这个流的信息匹配。到此,相信大家对“Java的Stream流实例分析”有了更深的了解,不妨来实际操作一番吧!这里是百云主机网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
这篇文章主要介绍“Qt怎么实现通用数据库同步”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Qt怎么实现通用数据库同步”文章能帮助大家解决问题。数据库同步的主要功能是将本地的数据库记录同步到远程的数据库,其中数据库类型不…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。