原文: https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/
题目:我提供了以下映射,其中包含以下选项,
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"。
祝您学习愉快!
