📜  java 将元素添加到地图 - Java (1)

📅  最后修改于: 2023-12-03 14:42:18.577000             🧑  作者: Mango

Java将元素添加到地图

在Java中,我们可以通过使用Map接口来创建一个键值对的映射表。在这个映射表中,我们可以将一个键与它对应的值关联起来。Java提供了很多不同的实现Map接口的类,其中最常用的是HashMap,TreeMapLinkedHashMap。在Java中,我们可以通过以下方法将元素添加到地图中:

使用put()方法添加元素

put()方法用于将一个键值对添加到地图中。如果地图中已经存在该键,那么它对应的值将被替换成新的值。另外,该方法还可以返回替换前这个键对应的旧值(如果存在的话)。以下是put()方法的语法:

V put(K key, V value)

其中,K代表地图的键类型,V代表地图的值类型。下面的代码展示了如何使用put()方法将元素添加到地图中:

Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
System.out.println(map);

输出如下:

{One=1, Two=2, Three=3}
使用putIfAbsent()方法添加元素

putIfAbsent()方法将一个键值对添加到地图中,但只有在该键在地图中不存在的情况下才会添加。该方法返回添加的值或者已经存在的值(如果已经存在的话)。以下是putIfAbsent()方法的语法:

V putIfAbsent(K key, V value)

下面的代码展示了如何使用putIfAbsent()方法将元素添加到地图中:

Map<String, Integer> map = new HashMap<>();
map.putIfAbsent("One", 1);
map.putIfAbsent("Two", 2);
map.putIfAbsent("Three", 3);
System.out.println(map);

输出如下:

{One=1, Two=2, Three=3}

由于所有的键在添加时都已经存在,所以并没有添加新的元素。如果我们替换其中一个putIfAbsent()方法为以下内容:

map.putIfAbsent("Four", 4);

输出如下:

{One=1, Two=2, Three=3, Four=4}
使用computeIfAbsent()方法添加元素

computeIfAbsent()方法用于根据指定的键计算一个值,并将其与该键相关联。如果该键在地图中已经存在,则返回与该键相关联的值。合成函数只有在key key不存在时才执行,以确保地图保留函数原子性。以下是computeIfAbsent()方法的语法:

V computeIfAbsent(K key,Function<? super K,? extends V> mappingFunction)

下面的代码展示了如何使用computeIfAbsent()方法将元素添加到地图中:

Map<String, Integer> map = new HashMap<>();
map.computeIfAbsent("One", k -> 1);
map.computeIfAbsent("Two", k -> 2);
map.computeIfAbsent("Three", k -> 3);
map.computeIfAbsent("Four", k -> 4);
System.out.println(map);

输出如下:

{One=1, Two=2, Three=3, Four=4}
使用merge()方法添加元素

merge()方法用于将地图中指定键的值与指定的值进行合并。如果该键在地图中不存在,则将指定的值与该键相关联。如果该键在地图中已经存在,则使用提供的合并函数进行合并。以下是merge()方法的语法:

V merge(K key,V value,BiFunction<? super V,? super V,? extends V> remappingFunction)

下面的代码展示了如何使用merge()方法将元素添加到地图中:

Map<String, Integer> map = new HashMap<>();
map.merge("One", 1, (k, v) -> k + v);
map.merge("Two", 2, (k, v) -> k + v);
map.merge("Three", 3, (k, v) -> k + v);
System.out.println(map);

输出如下:

{One=1, Two=2, Three=3}
结束语

这些都是Java中将元素添加到地图中的几种方法。每种方法都有自己的优点和缺点,选择哪种取决于你的具体需求。希望这篇文章能够帮助您更好地了解和使用地图。