如何在不使用Iterator的情况下从Hashmap获取值?

时间:2015-03-18 06:21:05

标签: java iterator maps

Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) 
{
    Map.Entry mapEntry = (Map.Entry) iterator.next();
System.out.println("The key is: " + mapEntry.getKey() + ",value is :" + mapEntry.getValue());

}

这是我的代码。现在我不想使用Iterator获取值。 请帮我找到最佳解决方案。

4 个答案:

答案 0 :(得分:12)

Map<String, Object> map = .....;//Initialization here
for (String key : map.keySet()) {
    // write your code here
}

//如果您只是使用地图的键

for (Object value : map.values()) {
     // write your code here
}

//如果您只是使用地图中的值

for (Map.Entry<String, Object> entry : map.entrySet()) {
    String key = entry.getKey();
    Object value = entry.getValue();
    // you code here
}

//如果你想要键和值

//所有人都没有使用地图的迭代器

答案 1 :(得分:2)

Map.entrySet()。stream()。map(o - &gt; o.getValue())。collect(Collectors.toList());

答案 2 :(得分:0)

for(String key : map.keySet()) {
   System.out.println("The key is: " + key + ",value is :" + map.get(key));
}

相同的结果和迭代器消失=)

答案 3 :(得分:0)

如果要打印所有值而不使用map中的循环或迭代器,则可以这样做

Map <Integer, String> map = new HashMap<Integer, String>(); map.put(1, "Hello"); map.put(2, "Welcome"); System.out.println(map.values().toString());

您可以将其作为字符串存储在变量中

String value = map.values().toString();

希望这会有所帮助!