HashMap getOrDefault() 方法
getOrDefault()方法获取指定key对应的value,如果找不到key,则返回设置的默认值。
语法为
hashmap.gerOrDefault(Object key,V defaultValue);
-key,键
-defaultValue,当指定的key并不存在映射关系中,则返回的该默认值
返回值:
返回key映射的value,如果给定的key在映射关系中找不到,则返回指定的默认值
Hash集合的遍历方法
Map集合的遍历与List和Set集合不同。Map有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历。
(1)在for循环中使用entries实现map的遍历
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>;
map.put("1","1.1");
map.put("2","2.2");
for(Map.Entry<String,String> entry:map.entrySet()){
String mapKey = entry.getKet();
String mapValue = entry.getValue();
System.out.println(mapkey+":"+mapValue);
}
}
(2)使用for-each循环遍历key或者values,一般只适用于只需要Map中的key或者是value时使用,性能上来说比entrySet好用。
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>;
map.put("1","1.1");
map.put("2","2.2");
//打印键集合
for(String key:map.keySet()){
System.out.println(key);
}
//打印值集合
for(String value:map.values()){
System.out.println(value);
}
}
(3)使用迭代器(Iterator)遍历
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>;
map.put("1","1.1");
map.put("2","2.2");
Iterator<Entry<String,String>> entries = map.entrySet().iterator();
while(entries.hasNext()){
Entry<String,String> entry = entries.next();
String key = entry.getKey();
String value = entry.getValue();
}
}
(4)通过Map.value()遍历所有的value,但是不能遍历所有的key
public static void main(String[] args){
Map<String,String> map = new HashMap<String,String>;
map.put("1","1.1");
map.put("2","2.2");
for(String v:map.getValues()){
System.out.println("value="+v);
}
}