Java 题目 – TreeMap的放置操作

题目:我提供了以下映射,其中包含以下选项,

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"