How can I iterate over a map of lt;String, POJOgt;?(我如何遍历 lt;String, POJOgt; 的映射?)
问题描述
我有一个 Map<String, Person>
(实际上我使用的是更复杂的 POJO,但为了我的问题而对其进行了简化)
I've got a Map<String, Person>
(actually I'm using a more complex POJO but simplifying it for the sake of my question)
Person
看起来像:
class Person
{
String name;
Integer age;
//accessors
}
我如何遍历这张地图,打印出密钥,然后是人名,然后是人的年龄,例如:
How can I iterate through this map, printing out the key, then the person name, then the person age such as :
System.out.println(String.format("Key : %s Name : %s Age : %s", a, b, c));
- A 是 MapString、Person> 的键
- B 是来自 Person.getName() 的名称
- C 是来自 Person.getAge() 的年龄
我可以使用 .values() 从地图中提取所有值,详见 HashMap docs,但我有点不确定如何获取密钥
I can pull all of the values from the map using .values() as detailed in the HashMap docs, but I'm a bit unsure of how I can get the keys
推荐答案
entrySet() 呢
HashMap<String, Person> hm = new HashMap<String, Person>();
hm.put("A", new Person("p1"));
hm.put("B", new Person("p2"));
hm.put("C", new Person("p3"));
hm.put("D", new Person("p4"));
hm.put("E", new Person("p5"));
Set<Map.Entry<String, Person>> set = hm.entrySet();
for (Map.Entry<String, Person> me : set) {
System.out.println("Key :"+me.getKey() +" Name : "+ me.getValue().getName()+"Age :"+me.getValue().getAge());
}
这篇关于我如何遍历 <String, POJO> 的映射?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:我如何遍历 <String, POJO> 的映射?
基础教程推荐
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 降序排序:Java Map 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01