lambda表达式对集合的遍历

引言:

从去年年末就一直想好好看一下lambda表达式,可是一直没有静下心来看。

这次项目里用的对集合操作几乎都是通过lambda表达式方式的。没办法,就只好去学习了。

正文:

通过普通的for循环来对集合的遍历是我之前一直在做的事,简单,易理解。

但是lambda表达式对集合的遍历,可以算的上很优秀了,代码也很美。

首先,创建一个测试的实体类,如下:

class Lambda2Entity{

private String name;

private Integer age;

public Lambda2Entity(String name, Integer age) {

this.name = name;

this.age = age;

}

public Lambda2Entity() {    }

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

}

再创建三个集合,list、set、map。如下:

List list = new ArrayList<>();

Set set = new LinkedHashSet<>();

Map map = new LinkedHashMap<>();

for (int i = 1; i <= 6; i++) {

Lambda2Entity entity = new Lambda2Entity();

entity.setAge(i+10);

entity.setName("张三"+i+"号");

list.add(entity);

set.add(entity);

map.put(entity.getName(),entity);

}

对list集合遍历

System.out.println("用forEach遍历list集合");

list.forEach( (single) -> {

System.out.println(single.getName() + "  " + single.getAge());

}

);

对set集合遍历

System.out.println("用forEach遍历set集合");

set.forEach((single) -> {

System.out.println(single.getName() + "  " + single.getAge());

}

);

对map集合遍历

System.out.println("用forEach遍历map集合");

map.forEach((key,value) -> {

System.out.println(key + " " + value.getAge());

}

);

控制台输出结果:

通过lambda表达式对结合的操作,是通过forEach来完成的,如果是list或set这两种集合,那么lambda表达式中只有一个参数,表示集合中的一个值。但是map可以有两个,因为map本身就是通过键值对存储的,一个key,一个value。

lamda获取参数集合去空_lambda表达式对集合的遍历相关推荐

  1. lamda获取参数集合去空_(转)Java8使用lambda表达式进行集合的遍历

    本文转自 我们经常会用到各种集合,数字的,字符串的还有对象的.它们无处不在,哪怕操作集合的代码要能稍微优化一点,都能让代码清晰很多.在这章中,我们探索下如何使用lambda表达式来操作集合.我们用它来 ...

  2. List集合中数据用set集合去重复,用set集合去重复数据重写了equals还是没成功!

    [用set集合去重复数据,重写equals还是不成功的问题解决思路在文章最后] 需求描述: 因业务需要,通过复杂的代码逻辑从数据库取出数据放入List集合中,涉及多次从访问数据库取出数据放入List集 ...

  3. lamda获取参数集合去空_JAVA集合框架知识

    1. Vector用法和ArrayList区别 (1) Vector的特有方法有哪些? void addElement(E obj) 将指定的组件添加到此向量的末尾,将其大小增加1. (2) Vect ...

  4. lamda获取参数集合去空_集合源码解析之LinkedList

    在日常开发中,最常用的List是ArrayList其次便是LinkedList了.上次我们已经研究过了ArrayList,今天来深入学习下LinkedList... 概述 LinkedList顾名思义 ...

  5. lsit集合去重复 顶级表达式

    updateList = updateList.Where((x, i) => updateList.FindIndex(z => z.ID == x.ID) == i).ToList() ...

  6. lamda list 分组_java8lambda表达式对集合分组并且排序(记一次性能优化案例)

    最近遇到个需求是这样的: 写一个类似于通讯录的简单功能,要求是首先按照部门显示列表,然后点击部门下拉显示部门里面的人员信息,且人员信息按照职位排序. 先分析数据结构: 最外层是部门,部门里面是员工,且 ...

  7. Java 批量判断参数是否为空 判断集合

    判断参数是否为空,是因为在controller层会写很多if else 这样代码很冗余,封装一种方法可以判断参数是否为空,判断集合,是否为0,因为现在业务使用需要判断类型不是很多,如果多种类型可以考虑 ...

  8. jsp页面获取参数的方法(url解析、el表达式赋值、session取值)【原创】

    最近使用myEclispse做网站,使用jsp+js+css做页面,网站中常用到从列表进入详情页面的跳转,下面对详情页面的值填充方式做一个简单总结: 1.url中使用request获取参数 jsp上方 ...

  9. java list 去空字符串_【JAVA基础】list和字符串判空

    前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一.J ...

最新文章

  1. html+spring boot简单的ajax数据传输实现
  2. 前沿 | DeepMind 最新研究——神经算术逻辑单元,有必要看一下!
  3. android 获取网卡mac_防亚马逊账号关联黑科技--如何修改我们的网卡MAC到底重要不?...
  4. [Unity动画]04.Avatar Mask
  5. 大工计算机应用基础在线测试2,大工15秋《计算机应用基础》在线测试2
  6. 2020CCPC绵阳
  7. 工作166:错误的处理方式
  8. iOS控制器与视图加载方法
  9. C语言实现控制台中光标随意移动
  10. 十字消除 - Cocos2d-x 2.0.1
  11. python中r 4.2f%r,006 Python中的 字符串String
  12. C# WPF MVVM 实战 – 4 - 善用 IValueConverter
  13. 提高计算机启动速度的是什么,三种方法让你实现电脑秒开!提升电脑开机速度就是这么简单!...
  14. 超说网络NO.5 | 超详细全方位介绍Web 与 HTTP(运维面试必考点)
  15. lol哪个服务器有无限乱斗,英雄联盟无限乱斗和无限火力有什么区别 2021无限乱斗开放时间表[多图]...
  16. 屏幕录制编辑软件:Screenium 3 for Mac
  17. 安装系统正在为首次使用计算机ghost,win7系统安装程序显示正在为首次使用计算机做准备的解决方法...
  18. 【crypto】基于crypto.js的web前端加解密系统实现
  19. 【C#】panel重绘闪烁问题
  20. Ubuntu16.04安装ZSH并美化,解决git乱码问题

热门文章

  1. 电脑遇到DNS服务器未响应的情况该怎么办
  2. RabbitMQ的入门程序test测试代码
  3. 电脑无限重启rpc服务器不可用,StarUML启动时候出现System Error. Code:1722. RPC服务器不可用.错误的解决办法...
  4. HTML5新增语义化标签(HTML5)
  5. 电脑软件上的按钮原来是这样来的:按钮组件
  6. windows之解决VMware虚拟机经常性卡死
  7. AI驱动智能化日志分析 : 通过决策树给日志做聚类分析
  8. shell基础(下) 特殊符号
  9. awk入门-保护SSHD
  10. 阿里云发布“码上公益”平台 打造更高效透明的“科技公益”