sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

区别 stream().filter和stream().map,简单的不要不要的

栏目: ·

来源: 沛沛老爹

作者:沛沛老爹

简介  这篇文章主要介绍了区别 stream().filter和stream().map,简单的不要不要的以及相关的经验技巧,文章约1732字,浏览量435,点赞数4,值得参考!

 用到stream特性的情况。一般是在List的操作上。

用List的操作,一般都是获取子集(匹配)或者获取其中某些制定项的操作会比较多。

例如从一个List<T>中获取满足条件的子集。一般我们都会用 stream().filter和stream().map来处理。

这两个用的比较多,有些同学还会遇到用着用着就迷糊了:

到底什么时候用什么?这两个又有什么区别呢?

下面我们简单来上个代码。

1、先上个砧板上的肉肉(List):

@Data  //Lombok
public Class person{
   private Integer age;
  private String name;
}
/*
* 填充数据省略?
*/
public Class personTest{
    public static void main(String[] args){
        List<Person> persons = new ArraryList<>();     
        for(int i =0 ;i<5;i++){
            Person person = new Person();
            person.setAge(i);
            person.setname("姓名_"+i.toString());
        }
    }
}

2、测试下filter

private void testFilter(List<Person> persons){  
    List<Person> childPersons = persons.stream().filter(e-e>getAge.equals(1)).collect(Collectors.toList());   
}

3、测试下map:

private void testMap(List<Person> persons){
    List<Age> childPersons = persons.stream().filter(Person::getAge).collect(Collectors.toList());
}

其实在上面的示例中,大家就可以很清楚的观察到Filter和Map的区别了。

一个是类型不变,一个是改变了类型。


以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文地址:https://blog.csdn.net/m290345792/article/details/119990098

https://www.136.la/nginx/show-186059.html
posted on   sunny123456  阅读(1384)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示