java list 转map方法

list转map三种方法

public class Student{

private Long studentId;

private String studentName;

(setget 方法省略)

}

(1)最原始方法用for循环方法进行处理

Map<Long,Student> List2Map(List<Student> dataList){

Map<Long,Student> map = new HashMap<Long,Student>();

if(dataList == null || dataList.isEmpty()){

return map;

}

for(Student student :dataList ){

map.put(student.getStudentId,student);

}

return map;

}

(2)使用java8提供的流方法(注意如果Spring框架版本为4.0以下与java8版本不兼容,使用会报错)

Map<Long,Student> List2Map(List<Student> dataList){

Map map = new HashMap();

if(dataList == null || dataList.isEmpty()){

return map;

}

map = dataList.stream().collect(Collectors.toMap(Student:getStudentId,s->s));

return map;

}

(3)使用google的guava工具

Map<Long,Student> List2Map(List<Student> dataList){

Map<Long,Student> map = new HashMap<Long,Student>();

if(dataList == null || dataList.isEmpty()){

return map;

}

map =  Maps.uniqueIndex(dataList,new com.google.common.base.Function<Student,Long>() {

@Nullable

@Override

    public String apply(@Nullable Student student) {

return student.getStudentId();

}

});

}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容