# 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(“测试键 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” **祝您学习愉快!**