现有一MAP集合 键为String类型 值为对象类型 如何put相同键不覆盖
要实现相同键不覆盖的功能,可以使用Map的putIfAbsent()方法。
putIfAbsent()方法会将指定的键值对放入Map中,但是只有在该键不存在时才会生效。如果键已经存在,则不会进行覆盖操作。
以下是一个示例代码:
Map<String, Object> map = new HashMap<>();
map.put("key1", new Object());
// 使用putIfAbsent()方法添加键值对,如果键已存在则不会进行覆盖
map.putIfAbsent("key1", new Object());
map.putIfAbsent("key2", new Object());
System.out.println(map.get("key1")); // 输出原始的值
System.out.println(map.get("key2")); // 输出新添加的值
输出结果:
java.lang.Object@12345678
java.lang.Object@abcdefgh
在上述示例中,putIfAbsent()方法被用来添加两个键值对。由于"key1"键已经存在,所以第一个putIfAbsent()方法不会进行覆盖操作,输出的值仍然是原来的对象。而"key2"键是新的,所以第二个putIfAbsent()方法会将新的值放入Map中
原文地址: https://www.cveoy.top/t/topic/hXk2 著作权归作者所有。请勿转载和采集!