多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Java 题目 – `TreeMap`的放置操作 > 原文: [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("test key 3", "test value 3"));` 答案)将输出打印为`"test value 3"` 选项 B)`System.out.println(map.put("test key 4", "test value 4"));` 答案)这将输出打印为`null` 谁能解释为什么选项 B 赋予我们这种行为? 另外,当我在选项 B `sysout`语句后打印映射时,是否有测试键 4? **解决方案**:如果查看`Map.put()`操作,则在映射中已经存在键的情况下,**返回该值**。 添加键`"test key 3"`后,再次尝试添加键时,它将返回值`"test value 3"`。 首次添加`"test key 4"`时,它在映射中不存在,因此映射返回值是`null`。 下次存储`"test key 4"`时,该时间项目已经存在,因此将值返回为`"test value 4"`。 **祝您学习愉快!**