【发布时间】:2014-10-13 14:37:42
【问题描述】:
当前问题:我构建了一个 HashMap 来保存和检索一些键和值。但我不确定如何按特定名称(字符串)检索所有值。目前它正在打印 Hashmap 中的所有值,这不是我想要实现的目标。
在下面的示例中,我使用了以下字段
字段
String name
// Object Example
HashMap
Map<String,Example> mapOfExampleObjects = new HashMap<String,Example>();
for 循环通过某个键名从 hashmap 中检索值
for(Map.Entry<String,Example> entry: mapOfExampleObjects.entrySet()){
if(mapOfExampleObjects.containsKey(name))
{
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
电流输出
John + (Exampleobject)
Ian + (Exampleobject)
Ian + (Exampleobject)
Jalisha + (Exampleobject)
我想要达到的输出
Ian + (Exampleobject)
Ian + (Exampleobject)
【问题讨论】:
-
你为什么要循环播放?
HashMap具有唯一键。一键,一值。 -
每个键只有 1 个值。 key = value 没有多个条目具有相同的键。
-
如果你想要一个键有多个值,你应该使用集合类型作为值。
-
现在你循环整个集合并说如果键存在然后打印当前值。键存在,因此您正在打印每个值。
-
你想要一个
Map<String, List<Example>>