用put方法为Map添加键值对。如果该键已经存在,则该键的值将被更新
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
方法四:java9+
Map<String,String> map=Map.of("a","b","c","d")
Map<String,String> map=Map.ofEntries(
entry("a","b"),entry("c","d")
);
方法一:static方法赋值
private static final Map<String, Integer> myMap = new HashMap<>();
static {
myMap.put("One", 1);
myMap.put("Two", 2);
myMap.put("Three", 3);
}
方法二:双括号初始化(匿名内部类)
HashMap<String, String> myMap = new HashMap<>(){{
put("a","b");
put("b":"c");
}};
方法三:guava
Map<String, Integer> myMap = ImmutableMap.of("张三","北京","李四","上海");
引入依赖
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>31.1-jre</version>
</dependency>
ImmutableMap是不可改变Map,初始化之后不能更改
private static Map<String, Integer> map = new HashMap<>();
static {
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
}
使用replace方法可以替换Map中的键值对。如果该键不存在,则该方法不会执行任何操作
map.replace("Two", 4);
map.replace("Four", 4);
将一个Map中的所有键值对添加到另一个Map中,如果该键已经存在,则该键的值将被更新
map1.putAll(map2);
compute方法将对Map中指定键的值执行自定义处理。它的第二个参数是一个函数,该函数将对指定键的值进行处理
map.compute("Two", (k, v) -> v + 10);
#computeIfAbsent方法
computeIfAbsent方法将只在指定键不存在时执行自定义处理。它的第二个参数是一个函数,该函数将返回指定键的默认值。
map.computeIfAbsent("Three", k -> 3);
map.computeIfAbsent("Two", k -> 5);
# computeIfPresent方法
computeIfPresent方法将只在指定键存在时执行自定义处理。它的第二个参数是一个函数,该函数将返回指定键的新值
map.computeIfPresent("Three", (k, v) -> v + 3);
map.computeIfPresent("Two", (k, v) -> v + 10);