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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Map

© 280270738 中级黑马   /  2013-6-23 16:03  /  1503 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Super_Class 于 2013-6-24 18:20 编辑

Map集合中put方法返回的是Value的值。
System.out.println(map.put("01","a"));为什么返回的不是a?

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

5 个回复

倒序浏览
代码如上,输出结果为:
null
11
12
null。


在查看API中,上边已经写到,用我们的话说,就是:Map中的put()方法,返回的是相同key值对应的上一个键值对的value值。看代码以及结果,应该有所明白噢,不明白留言
回复 使用道具 举报
万琪 来自手机 金牌黑马 2013-6-23 16:37:09
藤椅
你确定put是两个参数??如果照你这么分析,,put(1,a)..reture a....也不是多余吗,,传进去a又返回a
回复 使用道具 举报
//Map中的put()方法,返回的是相同key值对应的上一个键值对的value值
        Map<String, Integer> map=new HashMap<String, Integer>();
        System.out.println(map.put("11", 11));
        System.out.println(map.put("11", 12));
        System.out.println(map.put("11", 13));
        System.out.println(map.put("14", 14));
代码如上,输出结果为:
null
11
12
null。


在查看API中,上边已经写到,用我们的话说,就是:Map中的put()方法,返回的是相同key值对应的上一个键值对的value值。看代码以及结果,应该有所明白噢,不明白留言

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

回复 使用道具 举报
通过查看API知道
the value of any previous mapping with the specified key or null if there was no mapping.
put方法返回的是对应的key:"01",之前是否有映射赋值,如果没有返回null,
此时LZ第一次使用map.put("01","a")为key“01”赋值,所以返回值为null,
如果LZ在打印输出之前加上一句map.put("01","BBBBB");此时打印输出将会时BBBBB。

总之一一句话,返回值就是检查当前key之前是否有被赋值,如果没有返回null,如果有返回上一次所赋值。

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

回复 使用道具 举报
public static void main(String[] args) {
                // TODO Auto-generated method stub
                Map map=new HashMap();
                map.put("a", "hello world");//增加值
                String s=(String)map.get("a");//通过键 获取值
    System.out.println(s);
        }
结果:hello world  希望对你有帮助,可以查看API文档,这样更容易理解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马