2013-04-09 60 views
0

我有一个数据库,将课程名称映射到学生ID号码。我需要遍历地图来创建另一个包含数据库中所有学生的集合。这是迄今为止的代码。任何帮助将不胜感激!!通过TreeMap迭代 - 返回地图的所有键值的集合

//返回一组学生在学校

public Set<Integer> allStudents() { 
    Set<Map.Entry<String,Set<Integer>>> entries = database.entrySet(); 
    Set<Integer> students = new TreeSet<Integer>(); 

    for (Map.Entry<String,Set<Integer>> pair: entries){ 
     students.add(); 
    } 

    return students; 

} // end allStudents 

回答

1

你可以这样做:

for (Map.Entry<String, Set<Integer>> pair : entries) { 
    students.addAll(pair.getValue()); 
} 
0

你的代码是正确的。这里是一个没有迭代的版本

public Set<Integer> allStudents() { 
    return new HashSet<Integer>(database.values()); 
}