当前位置: 移动技术网 > IT编程>开发语言>Java > java 三种将list转换为map的方法详解

java 三种将list转换为map的方法详解

2019年07月22日  | 移动技术网IT编程  | 我要评论
java 三种将list转换为map的方法详解  在本文中,介绍三种将list转换为map的方法: 1) 传统方法 假设有某个类如下 

list转换成Map的三种方法

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

/**
 * 科目实体类
 */
public class Subject
{
	private Integer id;
	private String subjectName;
	public Subject(Integer id, String subjectName){
		super();
		this.id = id;
		this.subjectName = subjectName;
	}
	public Integer getId(){
		return id;
	}
	public void setId(Integer id){
		this.id = id;
	}
	public String getSubjectName(){
		return subjectName;
	}
	public void setSubjectName(String subjectName){
		this.subjectName = subjectName;
	}
}
public class ListToMap
{
public static void main(String[] args)
	{
		List<Subject> list = new ArrayList<>();
		Subject sub1 = new Subject(1,"语文"); 
		Subject sub2 = new Subject(2,"数学"); 
		Subject sub3 = new Subject(3,"英语"); 
		list.add(sub1);
		list.add(sub2);
		list.add(sub3);
		//方法一 for循环,创建一个Map集合  使用put(key,value)方法
		Map<Integer,Subject> subMap = new HashMap<>();
		for(Subject sub : list){
			subMap.put(sub.getId(), sub);
		}
		
		//方法二使用guava工具类
		Map<Integer, Subject> subMap2 = Maps.uniqueIndex(list, new Function<Subject, Integer>() {
            @Override
            public Integer apply(Subject sub) {
                return sub.getId();
            }
		});
		
		//方法三使用java8流形式
		Map<Integer, Subject> appleMap = list.stream().collect(Collectors.toMap(Subject::getId, a -> a,(k1,k2)->k1));
	}
}

本文地址:https://blog.csdn.net/sinat_19597065/article/details/88042128

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网