import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map statesAndCapitals = new HashMap<>();
statesAndCapitals.put("Alaska", "Anchorage");
statesAndCapitals.put("California", "Sacramento");
statesAndCapitals.put("Colorado", "Denver");
statesAndCapitals.put("Florida", "Tallahassee");
statesAndCapitals.put("Nevada", "Las Vegas");
statesAndCapitals.put("New Mexico", "Sante Fe");
statesAndCapitals.put("Utah", "Salt Lake City");
statesAndCapitals.put("Wyoming", "Cheyenne");
statesAndCapitals.put("New York", "New York City");
// default V getOrDefault(Object key, V defaultValue) {
//如果存在key,则输出value;反之输出defaultValue
String capitalWisconsin = (String)statesAndCapitals.getOrDefault("Wisconsin", "Unknown");
System.out.println(capitalWisconsin);
//如果之前key不存在,插入新的键值对,返回旧值(此时为null);
//如果之前的key存在,不插入新的键值对,返回旧值(此时可能为null)
String capitalNewYork = (String)statesAndCapitals.putIfAbsent("New York", "Albany");
System.out.println(capitalNewYork);
//只有在提供的键和值都匹配的时候才会删除该map项,删除成功时返回true,反之返回false
boolean removedJdk8 = statesAndCapitals.remove("California", "Sacramento");
System.out.println(removedJdk8);
//只有在指定的键匹配的情况下才会替换。
//如果之前key存在的话,替换为新的value,返回旧的value;
//如果之前key不存在的话,不替换,返回null
String replacedJdk8City = (String) statesAndCapitals.replace("Alaska2", "Juneau");
System.out.println(replacedJdk8City);
//只有在指定的键和值都匹配的情况下才会替换,返回true;反之返回false
boolean replacedJdk8 = statesAndCapitals.replace("Nevada", "Las Vegas", "Carson City");
System.out.println(replacedJdk8);
}//main
}
default boolean replace(K key, V oldValue, V newValue) {
Object curValue = get(key);
if (!Objects.equals(curValue, oldValue) ||
(curValue == null && !containsKey(key))) {
return false;
}
put(key, newValue);
return true;
}参考:http://www.importnew.com/11365.html