2016-06-14 93 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; 
} 

}