keySet()
只返回哈希映射中的一组键,您应该迭代该键集,并使用这些键从哈希映射中获取值.
在您的示例中,散列映射键的类型是TypeKey
,但是您在泛型for-loop
中指定了TypeValue
,因此无法编译它.您应该将其更改为:
for (TypeKey name: example.keySet()) {
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Update for Java8:个
example.entrySet().forEach(entry -> {
System.out.println(entry.getKey() + " " + entry.getValue());
});
如果不需要打印键值,只需要哈希映射值,可以使用其他人的建议.
另一个问题:这个集合是零基数的吗?我的意思是,如果它有一个键和值,它的大小是0还是1?
从keySet()
返回的集合是Set
.使用索引无法从集合中获取值,因此这不是基于零还是基于一的问题.如果哈希映射有一个键,返回的keySet()
将有一个条目,其大小将为1.