我将如何迭代嵌套的HashMap?
的HashMap是设置这样的:
HashMap<String, HashMap<String, Student>>
Run Code Online (Sandbox Code Playgroud)
Student包含变量的对象在哪里name.例如,如果我的HashMap看起来像这样(以下不是我的代码,它只是模拟hashmap的内容可能是什么)
hm => HashMap<'S', Hashmap<'Sam', SamStudent>>
HashMap<'S', Hashmap<'Seb', SebStudent>>
HashMap<'T', Hashmap<'Thomas', ThomasStudent>>
Run Code Online (Sandbox Code Playgroud)
我怎么能遍历所有的单个字母键,然后是每个全名键,然后拿出学生的名字?
Bre*_*ail 21
for (Map.Entry<String, HashMap<String, Student>> letterEntry : students.entrySet()) {
String letter = letterEntry.getKey();
// ...
for (Map.Entry<String, Student> nameEntry : letterEntry.getValue().entrySet()) {
String name = nameEntry.getKey();
Student student = nameEntry.getValue();
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
Jef*_*oom 13
Java 8 lambdas Map.forEach并使bkail的答案更简洁:
outerMap.forEach((letter, nestedMap) -> {
//...
nestedMap.forEach((name, student) -> {
//...
});
//...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14785 次 |
| 最近记录: |