原文: https://howtodoinjava.com/puzzles/java-puzzle-treemap-put-operation/

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

    1. Map map = new TreeMap();
    2. map.put("test key 1", "test value 1");
    3. map.put("test key 2", "test value 2");
    4. map.put("test key 3", "test value 3");
    5. System.out.println(map.put("test key 3", "test value 3"));
    6. 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"

    祝您学习愉快!