文档章节

使用JDK8的lambda方式把List转成Map

学渣要逆袭
 学渣要逆袭
发布于 2017/05/31 15:16
字数 167
阅读 29
收藏 0
点赞 0
评论 0
JDK

1、创建一个实体类(学生类)
 

public class Student {
	private Integer id;
	private String name;
	private Integer age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";
	}
	
}

2、创建一个测试类
 

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

public class TestDemo {
     public static void main(String[] args) {

                Student student1 = new Student();
		student1.setId(110);
		student1.setName("李明");
		student1.setAge(23);
		
		Student student2 = new Student();
		student2.setName("明浩");
		student2.setId(119);
		student2.setAge(24);
		
		List<Student> list = Lists.newArrayList();
		list.add(student1);
		list.add(student2);

                Map<Integer, Student> studentMap = list.stream().collect(Collectors.toMap(Student:: getId, (k) -> k));
		
		System.out.println("根据学号查找学生:"+studentMap.get(110).getName());
     }
}

 

© 著作权归作者所有

共有 人打赏支持
学渣要逆袭
粉丝 0
博文 37
码字总数 9342
作品 0
海淀
后端工程师
使用JDK8新特性重构你的代码

lambda 表达式 当一个接口只有一个方法的时候都可以使用lambda 表达式代替 这种称为函数接口可以用 @FunctionalInterface 修饰 lambda 表达式多种形式 使用lambda表达式实现设计模式 这里我们...

12叔
2016/04/15
477
0
深入浅出 Java 8 Lambda 表达式

摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等。本文系 OneAPM 工程师编译整理。 Java 是一流的面向对象语言,除了部分简单数据类型,J...

OneAPM蓝海讯通
2015/11/02
101
0
深入浅出 Java 8 Lambda 表达式

摘要:此篇文章主要介绍 Java8 Lambda 表达式产生的背景和用法,以及 Lambda 表达式与匿名类的不同等。本文系 OneAPM 工程师编译整理。 Java 是一流的面向对象语言,除了部分简单数据类型,J...

OneAPM蓝海讯通
2015/11/17
63
0
Java8-如何构建一个Stream

Stream的创建方式有很多种,除了最常见的集合创建,还有其他几种方式。 List转Stream List继承自Collection接口,而Collection提供了stream()方法。 数组转stream 对于数组,Arrays提供了str...

ryan-miao
04/04
0
0
Java SE 8: Lambda Quick Start Part.IV (Fin)

前面的章节中介绍了函数式接口并完成了一个基本的lambda表达式语法示例. 本节回顾lambda表达式如何改善集合类. Lambda表达式和集合类 在前面的例子中, 集合类被多次用到. 然而, 若干新的lam...

CasparLi
2016/12/10
29
0
JDK8 快速指南

翻译自 java8-tutorial 新特性 Default Methods for Interfaces(接口的默认方法) Java 8 使我们能够通过使用 关键字将非抽象方法实现添加到接口。这个功能也被称为虚拟扩展方法。 这是我们的...

静默虚空
2017/11/14
0
0
JDK8 Stream 从入门到装逼(三)

在lambdas中,可以看到lambda表达式让代码更加简洁、干净、容易理解,并允许不需要创建一个类就可以达到目的。lambdas很好的帮助开发人员更好的表达片段代码的意思,Stream对于集合提供一个抽...

kaishui
2016/09/06
1K
11
Python 进阶语法四 —— Map、Filter和Reduce

四、Map、Filter和Reduce Map、Filter和Reduce三个函数能为函数式编程提供便利。我们会通过实例一个一个讨论并理解它们。 Map Map会将一个函数映射到一个输入列表的所有元素上。这是它的规范...

东方神剑
2016/11/27
10
0
Java8 Foreach操作

在这篇文章中我将向你演示如何使用Java8中的操作和 1. Foreach操作Map 1.1 正常方式遍历Map 1.2 使用Java8的+表达式遍历Map 2. Foreach操作List 2.1 普通方式循环List 2.2 在Java8中使用+表达...

王爵nice
2015/09/15
4.3K
4
java8 lamada表达式

什么是λ表达式 λ表达式本质上是一个匿名方法。让我们来看下面这个例子: public int add(int x, int y) { return x + y; } 转成λ表达式后是这个样子: (int x, int y) -> x + y; 参数类型...

Moy
2016/03/15
84
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

1.14 救援模式

确保开机启动时连接镜像文件,如果是真机服务器,就需要:U盘或光盘镜像启动进入BIOS 不同主板进入bios按键不同,一般是F12或Esc 光标:移动到Boot(开机启动项) 减号移动:光标选中行,按-...

小丑鱼00
8分钟前
0
0
ES11-全文检索

高级别全文检索通常用于在全文本字段(如电子邮件正文)上运行全文检索。 他们了解如何分析被查询的字段,并在执行之前将每个字段的分析器(或search_analyzer)应用于查询字符串。 1.term查...

贾峰uk
11分钟前
0
0
java 复制对象有哪些方式

java 复制对象有哪些方式 Apache的 Common beanutils库 org.apache.commons.beanutils.BeanUtils.copyProperties(dest,origin); Springframework 的BeanUtil 依赖: <dependency> ......

黄威
26分钟前
1
0
jstack的简单使用

公司测试反应, 一个java应用的机器,cpu始终是30%, 即使不做交易, 于是想到了之前看到的jstack文章, 实践步骤记录一下: 1, 找出java应用的进程号 ps -ef|grep 应用名|grep -v grep 2, 找出pid...

零二一七
33分钟前
1
0
崛起于Springboot2.X之项目war打包部署(18)

将springboot项目打包步骤: 1、启动类 extends SpringBootServletInitializer 2、启动类添加覆盖方法 @Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder......

木九天
42分钟前
2
0
导入CSV文件就行数据整理分析

#-*-coding:utf-8-*-import csv,os,re,mathlocalPath=input("请输入所有群文件的根目录:") #所有QQ群文件的物理根目录路径def info(): info_dic=[] dirList=os.listdi...

Kefy
48分钟前
3
0
CoreText进阶(六)-内容大小计算和自动布局

CoreText进阶(六)-内容大小计算和自动布局 其它文章: CoreText 入门(一)-文本绘制 CoreText入门(二)-绘制图片 CoreText进阶(三)-事件处理 CoreText进阶(四)-文字行数限制和显示更...

aron1992
49分钟前
1
0
一个Unity高人的博客,涉猎范围很广,深度也很深。

https://blog.csdn.net/ecidevilin/article/list/

爽歪歪ES
51分钟前
0
0
Spring Cloud Config-Git后端

EnvironmentRepository的默认实现使用Git后端,这对于管理升级和物理环境以及审核更改非常方便。要更改存储库的位置,可以在Config Server中设置“spring.cloud.config.server.git.uri”配置...

itcloud
53分钟前
1
0
centos7 卸载mysql

[root@zyf ~]# rpm -qa|grep -i mysqlmysql-community-libs-5.6.34-2.el7.x86_64mysql-community-server-5.6.34-2.el7.x86_64mysql-community-release-el7-5.noarchmysql-community-......

Yao--靠自己
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部