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

How to get the values from the Hashmap without using Iterator?

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 来获取值。 请帮助我找到最佳解决方案。

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

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

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

//如果只是使用Map的key

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
}

//如果你同时想要Keys和values

//都是不使用Map的Iterator

Map.entrySet().stream().map(o -> o.getValue()).collect(Collectors.toList());

如果你想在不使用循环或地图迭代器的情况下打印所有值,你可以这样做

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();

希望对您有所帮助!