Java Map put()、putAll()、putIfAbsent()方法使用详解和区别

首先,让我们来看看Java Map中put()方法的使用。put()方法用于将指定的键值对映射到Map中。如果Map中已经存在该键,则将其对应的值替换为新值。如果Map中不存在该键,则将该键值对添加到Map中。以下是put()方法的使用示例:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("cherry", 3);

在上面的示例中,我们创建了一个HashMap对象,并使用put()方法将三个键值对添加到Map中。现在,Map中包含三个键值对,分别是”apple”->1、”banana”->2和”cherry”->3。

接下来,让我们来看看Java Map中putAll()方法的使用。putAll()方法用于将指定的Map中的所有键值对添加到当前Map中。如果当前Map中已经存在某个键,则将其对应的值替换为新值。以下是putAll()方法的使用示例:

Map<String, Integer> map1 = new HashMap<>();
map1.put("apple", 1);
map1.put("banana", 2);

Map<String, Integer> map2 = new HashMap<>();
map2.put("cherry", 3);
map2.put("durian", 4);

map1.putAll(map2);

在上面的示例中,我们创建了两个HashMap对象,并使用put()方法将键值对添加到每个Map中。然后,我们使用putAll()方法将map2中的所有键值对添加到map1中。现在,map1中包含四个键值对,分别是”apple”->1、”banana”->2、”cherry”->3和”durian”->4。

最后,让我们来看看Java Map中putIfAbsent()方法的使用。putIfAbsent()方法用于将指定的键值对映射到Map中,但仅在Map中不存在该键时才执行。如果Map中已经存在该键,则不执行任何操作。以下是putIfAbsent()方法的使用示例:

Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);

map.putIfAbsent("banana", 2);
map.putIfAbsent("apple", 3);

在上面的示例中,我们创建了一个HashMap对象,并使用put()方法将一个键值对添加到Map中。然后,我们使用putIfAbsent()方法尝试将两个键值对添加到Map中。由于Map中已经存在”apple”键,因此第二个putIfAbsent()方法不会执行任何操作。现在,Map中包含两个键值对,分别是”apple”->1和”banana”->2。