文档章节

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

学渣要逆袭
 学渣要逆袭
发布于 2017/05/31 15:16
字数 167
阅读 45
收藏 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
朝阳
后端工程师
私信 提问
JDK1.8 Stream之toMap和groupingBy全参数的使用

现在有一个商品地址对象的集合List productAddresses,该集合中productId和addressId是一对多的关系 1 @Data 2 @AllArgsConstructor 3 class ProductAddress { 4 private int productId; 5 ......

疯狂阿贾克斯
08/07
0
0
一次Collectors.toMap的问题

概述   虽然JDK9.0已经出来了,不过我们系统最近才开始全面引入JDK1.8,JDK1.8也已经出来了好久了,各方面都挺稳定的。最近在使用lambda表达式的Collectors.toMap方法时就遇到了一个问题。...

孟飞阳
今天
0
0
深入理解Java8 Lambda表达式

一、Lambda表达式是什么? Lambda表达式有两个特点:一是匿名函数;二是可传递。 匿名函数的应用场景是: 通常在需要一个函数,但又不想费神去命名一个函数的场合下使用。Lambda表达式所表示...

微笑向暖wx
今天
0
0
屌炸天,JDK8的排序大法!!

首先祝大家端午节快乐! 今天总结了下JDK中排序的方法,包括JDK8中强大的lambda表达式及函数式接口运用,不废话,请看下面示例。 public class Test { public static void main(String[] arg...

java技术栈
2017/08/13
0
0
Java8-如何构建一个Stream

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

ryan-miao
04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

中国龙-扬科
26分钟前
2
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
30分钟前
2
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
37分钟前
1
0
Netty handle方法周期 (四)

写了一个练习之后,发现自定义的助手类每次肯定是必须的,对于不同的业务逻辑需求,会写相对应的逻辑 最简单的查看Handle生命周期的方式,就是重写上级方法,看名字差不多应该可以知道方法的作用 ...

_大侠__
42分钟前
9
0
vue主动刷新页面及列表数据删除后的刷新实例

1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.reload(),或者...

前端小攻略
52分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部