list转map的三种方法

List代表有序调集 , 有序可反复;

Map调集存储键值对;

需要这些哦
电脑
myeclipse 或者intellij IDEA
第一种:利用for轮回将list调集转map1将一个实体类的list调集转为map
学生实体类:
package test;


public class Student {

private Long id;
    private String age;


    public Long getId() {
        return id;
    }


    public void setId(Long id) {
        this.id = id;
    }


    public String getAge() {
        return age;
    }


    public void setAge(String age) {
        this.age = age;
    }


    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", age='" + age + '\'' +
                '}';
    }


}

list转map的三种方法

文章插图

2转换类编写 。
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


public class ListToMap {
    public static void main(String[] args) {
        List<Student> StudentList = new ArrayList<Student>();
        Student Student1 = new Student();
        Student1.setId(1L);
        Student1.setAge("12");


        Student Student2 = new Student();
        Student2.setId(2L);
        Student2.setAge("13");


        StudentList.add(Student1);
        StudentList.add(Student2);


        Map<Long, Student> maps = new HashMap<Long, Student>();
        for (Student Student : StudentList) {
        //将属性中的独一标识作为key
            maps.put(Student.getId(), Student);
        }


        System.out.println(maps);


    }
}

list转map的三种方法

文章插图

3若是实体类中没有独一的标识 , 可以利用数组下标来作为key
【list转map的三种方法】for (int i = 0; i < StudentList.size(); i++) {
map.put("s"+i, StudentList.get(i));
}

第二种:利用guava将list调集转map1代码如下所示:
import com.google.common.base.Function;
import com.google.common.collect.Maps;


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


public class ListToMap {
public static void main(String[] args) {
List<Student> StudentList = new ArrayList<Student>();
Student Student1 = new Student();
Student1.setId(1L);
Student1.setAge("12");

推荐阅读