方式一:
直接使用for循环获取key,然后通过hashMap.get(key)得到值value,代码如下:
for(String key : hashMap.keySet()){
System.out.println("key:"+key+",value:"+hashMap.get(key));
}
这是常用的方法,先将map中的所有的键都存入到set集合中。通过set的迭代方式取出所有的键,依据map的get方法
获取每个键对应的值。
注意:keySet()迭代后只能通过get()来获取key对应的值。
方式二:
使用Set<Map.Entry<K,V>> entrySet() 返回此映射中包含的映射关系的 Set 视图。 Map.Entry表示映射关系。entrySet():通过for循环通过e.getKey(),e.getValue()取key和value。代码如下:
for (Entry<String, Object> entry : hashMap.entrySet()) {
System.out.println("key:" + entry.getKey() + ",value:"
+ entry.getValue());
}
迭代以后,可以获得相应的key和value,分别是e.getKey()方法和e.getValue()方法。
方式三:
直接遍历value
for (Object value : hashMap.values()) {
System.out.println("value:" + value);
}
这种方式可以输出所有的value,但是不能通过键来查询值。也就是说,没有键,也没有对应关系。
方式四:
将key的集合传入Collection集合中,然后通过对应的方式输出对应的value,代码如下:
HashMap<String,String> data = new HashMap<>();
Collection<String> values = data.values();
for(String value: values){
System.out.println(value);
}
这种方式同样只能获取到value的值,不能找到对应关系。
注意:在使用map时一定要注意判断是否为空,不判断就会产生异常。