【发布时间】:2014-03-13 11:09:53
【问题描述】:
我有一个哈希图。我想迭代 hashmap 以仅获取 hashmap 中的值,它包含很多键值对。请指导我,如何获得。由于安全问题,我无法粘贴代码。
【问题讨论】:
-
你检查过
HashMapapi吗? -
你粘贴一个相似的代码,只显示你正在努力的部分,怎么样?
标签: java loops iterator hashmap hashtable
我有一个哈希图。我想迭代 hashmap 以仅获取 hashmap 中的值,它包含很多键值对。请指导我,如何获得。由于安全问题,我无法粘贴代码。
【问题讨论】:
HashMap api吗?
标签: java loops iterator hashmap hashtable
也许你应该检查java.util.Map API:http://docs.oracle.com/javase/7/docs/api/java/util/Map.html#values()
【讨论】:
就像@Smutje 所说,Map#values() 完全按照您的要求进行:它为您提供了一个包含地图所有值的集合。
但是,如您所说,如果您的 Map 包含如此多的条目,您可能应该检查您的设计,以确保迭代所有值实际上是一个好主意。当使用 Map 时,除了通过键访问值之外,对值进行(频繁)迭代,尤其是在有很多值的情况下,对我来说似乎是一种气味。
另外,如果您真的想在您的 Map 上进行迭代,您可能需要查看 LinkedHashMap 和 TreeMap,这可能更适合您(当然,取决于您的用例)。
【讨论】: