【发布时间】:2014-10-16 17:39:34
【问题描述】:
这是一个很笼统的问题,我只是举一个Java HashMap的例子。
我有一个哈希图。
Map<Integer,Integer> idPriceMap=new HashMap<Integer,Integer>();
idPriceMap.put(10,20);
idPriceMap.put(11,25);
idPriceMap.put(12,0);
idPriceMap.put(13,100);
idPriceMap.put(14,20);
idPriceMap.put(15,40);
idPriceMap.put(16,90);
要求可能不同,例如:
UseCase1:假设我知道键,我想要一个特定键的值(PS。我知道在这种情况下 HashMap 是最好的结构)
Usecase2:我想获取所有值。
现在只考虑 UseCase2。问题是:这是好的做法吗?
在另一种情况下,我同时拥有 UseCase1 和 UseCase2 两者。你有什么建议?
我尝试用谷歌搜索,我得到的只是迭代 HashMap 的最佳方法。 :(
【问题讨论】:
-
不确定您到底在问什么?是的,hashmap 可用于通过键查找值或遍历所有值的两种情况。
-
@brso05 迭代哈希图是一种好习惯吗?我们也可以迭代一个列表,根据用例哪一个是最好的??希望我现在清楚了。
-
如果你需要这两种情况,那么 HashMap 如果你只需要迭代,那么任何一种都可以。 HashMap 只允许key=value 键不能重复。如果您不需要访问与键关联的特定值,而只需要访问这些值本身,那么列表就可以正常工作。
-
遍历
Map是完全正常的。为什么这是一个不好的做法? -
“值”是什么意思,是Map接口定义的吗?
标签: java performance for-loop hash collections