198.md 1.4 KB
Newer Older
W
wizardforcel 已提交
1
# Java 难题 – TreeMap 的放置操作
W
wizardforcel 已提交
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

> 原文: [https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/](https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/)

**难题:**我提供了以下地图,其中包含以下选项,

```java
Map map = new TreeMap();
map.put("test key 1", "test value 1");
map.put("test key 2", "test value 2");
map.put("test key 3", "test value 3");

System.out.println(map.put("test key 3", "test value 3"));
System.out.println(map.put("test key 4", "test value 4"));
```

**选项 A)** System.out.println(map.put(“测试键 3”,“测试值 3”)));
**答案)**将输出打印为=测试值 3

**选项 B)** System.out.println(map.put(“测试键 4”,“测试值 4”)));
**答案)**这将输出打印为= null;

谁能解释为什么选项 b 赋予我们这种行为?

另外,当我在 Option B sysout 语句后打印地图时,是否有测试键 4?

**解决方案:**如果查看`Map.put()`操作,则在映射中已经存在键的情况下,**返回该值。**

添加键“测试键 3”后,再次尝试添加键时,它将返回值“测试值 3”。

首次添加“测试键 4”时,它在地图中不存在,因此地图返回值是 null。

下次存储“测试键 4”时,该时间条目已经存在,因此将值返回为“测试值 4”

**祝您学习愉快!**