在 Java 中打印 HashMap

2024-05-01

我有一个HashMap:

private HashMap<TypeKey, TypeValue> example = new HashMap<TypeKey, TypeValue>();

现在我想遍历所有值并打印它们。

我写了这个:

for (TypeValue name : this.example.keySet()) {
    System.out.println(name);
}

这似乎不起作用。

问题是什么?

编辑: 还有一个问题:这个合集是零基础的吗?我的意思是如果它有 1 个键和值,那么大小是 0 还是 1?


keySet() http://download.oracle.com/javase/6/docs/api/java/util/HashMap.html#keySet%28%29仅从哈希映射中返回一组键,您应该迭代此键集并使用这些键从哈希映射中获取值。

在您的示例中,哈希映射的键的类型是TypeKey,但你指定了TypeValue在你的通用for-loop,所以无法编译。你应该将其更改为:

for (TypeKey name: example.keySet()) {
    String key = name.toString();
    String value = example.get(name).toString();
    System.out.println(key + " " + value);
}

Java8 更新:

example.forEach((key, value) -> System.out.println(key + " " + value));

如果您不需要打印键值而只需要哈希映射值,您可以使用其他人的建议。

还有一个问题:这个合集是零基础的吗?我的意思是如果它有 1 个键和值,它的大小是 0 还是 1?

返回的集合来自keySet() is a Set http://download.oracle.com/javase/6/docs/api/java/util/Set.html。您无法使用索引从集合中获取值,因此这不是从零开始还是从一开始的问题。如果你的哈希映射有一个键,keySet()返回的内容将包含一项,其大小为 1。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中打印 HashMap 的相关文章

随机推荐