JAVA1.8Stream如何使用?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA1.8Stream如何使用?相关的知识,希望对你有一定的参考价值。

参考技术A

这个叫stream流运算,是目前市场上比较流行的用法,效率会比较高,举几个例子吧:

常用的流

1、collect(Collectors.toList())

将流转换为list。还有toSet(),toMap()等。

是不是很方便,一个方法让对象们变成list集合。

2、filter

顾名思义,起过滤筛选的作用。这个也是常用的,可以过滤集合里面的值,非常实用,假如你的List里面筛选身高不足180的数据,就能这么用。

3、map

转换功能,例如将student对象转换为String对象,获取student的名字。

这几个是我觉得在公司比较实用的,可以多练习,然后在看比较深的steamAPI。纯手打望采纳。

IntelliJ IDEA中如何优雅的调试Java Stream操作

Stream操作是Java 8推出的一大亮点!虽然java.util.stream很强大,但依然还是有很多开发者在实际工作中很少使用,其中吐槽最多的一个原因就是不好调试,一开始确实是这样,因为stream这样的流式操作在DEBUG的时候,是一行代码,直接下一步的时候,其实一下就过去了好多操作,这样我们就很难判断到底是里面的哪一行出了问题。不过,现在的话,在强大的IDEA插件支持下,stream的调试其实也没那么难了,下面就来学习一下在IDEA中如何调试stream操作吧。

插件:Java Stream Debugger

如果你用的IDEA版本比较新的话,这个插件已经是自带的了,就不需要安装了。如果还没安装的话,就手工安装一下,然后继续下面的操作。

本文收录在了我正在连载的《玩转IDEA专栏》,该系列该用电子书的方式编写,如果想要沉浸式阅读学习的话,可以访问Web版本:https://www.didispace.com/idea-tips/

调试Stream操作

视频演示:点击这里查看

先来看下面这样的这段代码:

public class StreamTest 

    @Test
    void test() 
        List<String> list = List.of("blog.didispace.com", "spring4all.com", "openwrite.cn", "www.didispace.com");

        List<String> result = list.stream()
                .filter(e -> e.contains("didispace.com"))
                .filter(e -> e.length() > 17)
                .toList();

        System.out.println(result);
    

这段代码的逻辑是通过stream去过滤list集合中的元素,由于有两个filter,所以当出现问题的时候,可能不知道具体是哪个filter中出了问题。

借助强大的IDEA,我们在遇到stream的时候,只需要点击下图中的按钮:

此时会弹出一个Stream操作的跟踪窗口:

该窗口中的标签就是这个stream操作的每一步,我们可以通过点击标签去查看每一步执行前和执行后的结果去判断这里的filter是否执行正确。

是不是一下感觉简单了很多呢?好了,今天的分享就到这里,如果你还没有用过这个调试功能的话, 赶紧打开IDEA试一试吧!如果您学习过程中如遇困难?可以加入我们超高质量的技术交流群,参与交流与讨论,更好的学习与进步!

欢迎关注我的公众号:程序猿DD。前沿技术早知道,弯道超车有希望!积累超车资本,从关注DD开始!

以上是关于JAVA1.8Stream如何使用?的主要内容,如果未能解决你的问题,请参考以下文章

[精选] Mysql分表与分库如何拆分,如何设计,如何使用

如果加入条件,我该如何解决。如果使用字符串连接,我如何使用

如何使用本机反应创建登录以及如何验证会话

如何在自动布局中使用约束标识符以及如何使用标识符更改约束? [迅速]

如何使用 AngularJS 的 ng-model 创建一个数组以及如何使用 jquery 提交?

如何使用laravel保存所有行数据每个行名或相等