2016-06-14 82 views
0

我有一个学生列表,每个学生可以有多个地址。 我想要一份学生名单和每个学生的条目,都有该学生的所有地址。Java - 获取列表中的列表

我想创建一个hashmap与学生id作为关键和学生的详细信息作为价值。但我不确定如何在此实现中拥有地址列表。

List<Student> students; 
Map<Integer,List<Student>> studentmap = new HashMap<Integer,List<Student>>(); 
for(Student s: students){ 
    if(!studentmap.contains(s.getId)){ 
     List<Student> studentsList=new ArrayList<Student>(); 
     studentsList.add(s); 
     studentmap.put(s.getId,studentsList); 
    } 
} 
+1

。如果每个学生可以有多个地址,你可以把地址列表中的学生课。将你的学生课程代码添加到问题中。 – Sid

+0

是的,我理解你的观点。但我最初得到的学生名单来自数据库调用。这没有给出地址列表。 – fiddle

+1

那么你的实际目标是什么? –

回答

0

如果你有一个学生名单,你可以根据给定的ID得到他们的地址,只要你的学生类的结构类似于下面的代码。

但我不确定如何在此 实施中拥有地址列表。

将它们放置在Student类:

class Student 
{ 
    private String studentAddresses[]; 
    private int id; 

    public Student(int studentId,String addresses[]){ 
     this.studentAddresses = addresses; 
     this.id = studentId; 
    } 

    public String[] getStudentAddressess(){ 
     return this.studentAddresses; 
    } 
} 
0

让有学生的名单(名单studentList)。 在学生类中,我已经列出了地址和ID。 从StudentList你可以得到学生的信息和列表地址

List<Student> studentList;  
class Student { 
private int id; 
private List<String> addressList = new ArrayList<String>(); 

public Student(int id, List<String> addressList) { 
    this.id = id; 
    this.addressList = addressList; 
} 

public List<String> getAddressList() { 
    return addressList; 
} 

public int getId() { 
    return id; 
} 

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

public void setAddressList(List<String> addressList) { 
    this.addressList = addressList; 
} 

}