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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王得新 中级黑马   /  2012-9-30 09:46  /  5578 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王得新 于 2012-9-30 16:31 编辑

        Map<String,String> map=new HashMap<String,String>();
        System.out.println(map.put("01", "value1"));//文档上说put()函数返回的是存入键所对应的值(应该是value1),可是为什么输出的是null呢
        map.put("02", "value2");
        map.put("03", "value3");

评分

参与人数 1技术分 +1 收起 理由
唐志兵 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
返回:
以前与 key 关联的值,如果没有针对 key 的映射关系,则返回 null。(如果该实现支持 null 值,则返回 null 也可能表示此映射以前将 null 与 key 关联)。
回复 使用道具 举报
专业的说:与 key 关联的旧值;如果 key 没有任何映射关系,则返回 null。(返回 null 还可能表示该映射之前将 null 与 key 关联。)
简单的时候就是当你用同样的key去替换之前的key时 有返回值 不管是vlaue和之前相同还是不相同。 返回被替换之前key对应的值
package com.wenfengkeji.heima;

import java.util.HashMap;
import java.util.Map;

public class Demo4 {

        public static void main(String[] args) {
                Map<String,String> map = new HashMap<String,String>();
                System.out.println(map.put("1", "a"));
                System.out.println(map.put("1", "b"));
                map.put("3", "b");  
                map.put("4", "b");
        }

}
回复 使用道具 举报
看看毕老师画的那张图你就明白了
回复 使用道具 举报
V put(K key, V value)
          将指定的值与此映射中的指定键关联,返回类型是一个与key键对应的value的类型值,因为key键值唯一性的特点:如果集合中有这个key,那么返回的就是被这个value所替换掉的那个旧值,如果集合中这个key值第一次出现没有与之对应的key那么就把这一组键值队存入到集合中,而返回值就为Null了。
回复 使用道具 举报
看了API,我发现,它是这么解释的:
以前与 key 关联的值,如果没有针对 key 的映射关系,则返回 null。(如果该实现支持 null 值,则返回 null 也可能表示此映射以前将 null 与 key 关联)。
这句话我也有点小迷茫,同样求高手指点:
楼主如果真想要取得值的话,可以用map.get("01")
我也是菜鸟,还请高手指点!
回复 使用道具 举报
put()方法,是返回前一个值,你可以把3条语句都打印一下,就明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马