📜  如何替换 TreeMap 中给定键的值?(1)

📅  最后修改于: 2023-12-03 15:09:10.632000             🧑  作者: Mango

如何替换 TreeMap 中给定键的值?

TreeMap 是一种基于红黑树的实现的 Map 接口的有序映射。当我们需要在 TreeMap 中替换给定键的值时,可以使用 put 方法进行替换。

方法一:put 方法替换键值
// 创建 TreeMap 对象
TreeMap<String, String> treeMap = new TreeMap<>();

// 添加元素
treeMap.put("key1", "value1");
treeMap.put("key2", "value2");
treeMap.put("key3", "value3");

// 替换给定键的值
treeMap.put("key2", "new value");

// 输出 TreeMap
System.out.println(treeMap);

在这个例子中,我们创建了一个 TreeMap 对象,并添加了三个键值对。然后使用 put 方法替换给定键 "key2" 的值为 "new value",并输出 TreeMap。输出结果为:

{key1=value1, key2=new value, key3=value3}
方法二:replace 方法替换键值

另一种替换 TreeMap 中给定键的值的方法是使用 replace 方法。这个方法接受两个参数,第一个参数是要替换值的键,第二个参数是替换后的新值。

// 创建 TreeMap 对象
TreeMap<String, String> treeMap = new TreeMap<>();

// 添加元素
treeMap.put("key1", "value1");
treeMap.put("key2", "value2");
treeMap.put("key3", "value3");

// 使用 replace 方法替换给定键 "key2" 的值
treeMap.replace("key2", "new value");

// 输出 TreeMap
System.out.println(treeMap);

在这个例子中,我们创建了一个 TreeMap 对象,并添加了三个键值对。然后我们使用 replace 方法替换给定键 "key2" 的值为 "new value",并输出 TreeMap。输出结果与方法一相同。

注意事项

需要注意的是,如果给定键不存在于 TreeMap 中,使用 put 方法会在 TreeMap 中添加一个新的键值对;使用 replace 方法则不会进行任何操作。

如果需要判断是否替换成功,可以使用 put 和 replace 方法的返回值。

put 方法返回的是被替换掉的旧值,如果没有旧值则返回 null。

replace 方法返回的是被替换掉的旧值,如果没有旧值则返回 null。

// 创建 TreeMap 对象
TreeMap<String, String> treeMap = new TreeMap<>();

// 添加元素
treeMap.put("key1", "value1");
treeMap.put("key2", "value2");
treeMap.put("key3", "value3");

// put 方法返回值
String oldValue1 = treeMap.put("key2", "new value");
String oldValue2 = treeMap.put("key4", "new value");

// replace 方法返回值
String oldValue3 = treeMap.replace("key2", "newest value");
String oldValue4 = treeMap.replace("key5", "newest value");

// 输出返回值
System.out.println("put 方法替换返回值:" + oldValue1 + ", " + oldValue2);
System.out.println("replace 方法替换返回值:" + oldValue3 + ", " + oldValue4);

在这个例子中,我们使用 put 和 replace 方法替换键值,并输出它们的返回值。输出结果为:

put 方法替换返回值:value2, null
replace 方法替换返回值:new value, null
结论

在 TreeMap 中替换给定键的值可以使用 put 或 replace 方法。需要注意的是,如果给定键不存在于 TreeMap 中,使用 put 方法会在 TreeMap 中添加一个新的键值对;使用 replace 方法则不会进行任何操作。