Java 将HashMap转换为ArrayList

Java 将HashMap转换为ArrayList,java,android,Java,Android,我有一个如下类型的HashMap Map<MyTeacherModel, ArrayList<StudentModel>> stdByTeacher= new HashMap<>(); 我想在ArrayList中转换这个哈希映射,这样每个老师都有一定数量的学生。像下面这样 -老师A --标准A1 --标准A2 --标准A3 --标准A4 -B老师 --标准B1 --标准B2 --标准B3 --标准B4 我的HapMap就是这样的,我只想把hashmap转换成

我有一个如下类型的HashMap

Map<MyTeacherModel, ArrayList<StudentModel>> stdByTeacher= new HashMap<>();
我想在ArrayList中转换这个哈希映射,这样每个老师都有一定数量的学生。像下面这样

-老师A --标准A1 --标准A2 --标准A3 --标准A4

-B老师 --标准B1 --标准B2 --标准B3 --标准B4

我的HapMap就是这样的,我只想把hashmap转换成一个上面给定的数组列表

注意:我不想使用Java8

我想要一个模型列表,即必须包含MyTeacherModel的MyModel 和学生模型的ArrayList。我想从网上得到这份名单 我上面提到的HashMap。因为hashmap中的值是 类似于此。

更新:

你想要这个吗

List<Teacher> mList = new ArrayList<Teacher>();
for (Map.Entry< MyTeacherModel, StudentModel > entry : stdByTeacher.entrySet())
{
    mList.add(new Teacher(stdByTeacher.getKey().getName(), stdByTeacher.entrySet().size());
}

根据您的要求:

学生班级:

教师班:

根据学生和教师模型:


你的问题不清楚,你想要列表吗?让我更新我的问题不,这不是我想要的,我没有设置。但是arraylist改为Set>mapconvert Set to list。我更新了相同的代码。阅读我更新的问题sudent或教师模型有什么问题吗?阅读我更新的问题question@A.s.ALI阅读更新的答案:希望它能起作用
List<Teacher> mList = new ArrayList<Teacher>();
for (Map.Entry< MyTeacherModel, StudentModel > entry : stdByTeacher.entrySet())
{
    mList.add(new Teacher(stdByTeacher.getKey().getName(), stdByTeacher.entrySet().size());
}
public class Student {

    private int id;
    private String Name;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return Name;
    }
    public void setName(String name) {
        Name = name;
    }

}
public class Teacher {

    private int id;
    private String Name;
    private List<Student> students;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return Name;
    }
    public void setName(String name) {
        Name = name;
    }
    public List<Student> getStudents() {
        return students;
    }
    public void setStudents(List<Student> students) {
        this.students = students;
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + id;
        return result;
    }
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Teacher other = (Teacher) obj;
        if (id != other.id)
            return false;
        return true;
    }

}
public class Test {

    public static void main(String[] args) {
        Map<Teacher, List<Student>> map = new HashMap<>();

        List<Teacher> teachers = getTeachers(map);
    }

    static List<Teacher> getTeachers(Map<Teacher, List<Student>> map) {
        for (Map.Entry<Teacher, List<Student>> teacherEntry : map.entrySet()) {
            teacherEntry.getKey().getStudents().addAll(teacherEntry.getValue());
        }
        return new ArrayList<>(map.keySet());
    }

}