A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2013-9-1 20:40  /  986 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘永贵 于 2013-9-2 09:45 编辑


为什么输出的结果会是这样

点评

在编辑的时候把代码放在“<>”里会更清晰的。  发表于 2013-9-1 21:01

评分

参与人数 1技术分 +1 收起 理由
以防万一 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
我个人理解,就看过一次视频,第一个输出null是因为map.put是输出的之前01键所对的值,
第二个同理就会输出zhangsan1,并用wangwu覆盖zhangsan1。
map.containsKey是输出键022所对的值,022没有赋值过所以是null。
value是包含集合中的所以值,map包含集合中的键和值。

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 很给力!

查看全部评分

回复 使用道具 举报
看下API,了解下几个方法的返回值,就明白了
回复 使用道具 举报
  1. import java.util.Map;
  2. import java.util.TreeMap;

  3. public class Test {

  4.         
  5.         public static void main(String[] args){
  6.                
  7.                
  8.                 Map<Integer,String> map = new TreeMap<Integer,String>();
  9.                 //put 方法返回值是value,但是这个value必须要先建立了映射关系才可以
  10.                 System.out.println(map.put(1, "abc"));//此方法该键值对还没有建立映射关系
  11.                 String value = map.put(1, "cbc");//这里键值一样,因此将value覆盖,也就是说上边的键值对已有映射关系,因此返回了被替换的值
  12.                 String value1 = map.get(1);
  13.                 System.out.println("被替换掉的值:"+value);
  14.                 System.out.println("新增加的值:"+value1);
  15.                 System.out.println(map);
  16.         }

  17. }
复制代码
已在源代码中注视说明,认真看下API实在不懂看下源代码就懂了。

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马