黑马程序员技术交流社区

标题: 关于Map的问题? [打印本页]

作者: 小蚊子    时间: 2013-12-20 22:00
标题: 关于Map的问题?
对于一个Map,我使用map.put(key,null)之后,有没有改变map的内容?
作者: yuehaotian    时间: 2013-12-20 22:20
有,你让一个叫 Key 的键 指向了 null 这个值,你可以用keySet方法,取到这个键

你可以这么理解:虽然null是默认所有未声明的键的值,但是你现在声明了 一个键 只是它的值还是null

import java.util.*;

class Demo
{
        public static void main(String[] args){
                Map<String,String> m = new TreeMap<String,String>();
                m.put("Key", null);
                m.put("AA", "1");
                Set<String> s = m.keySet();
                Iterator<String> it = s.iterator();
                while (it.hasNext()){
                        System.out.println(it.next());
                }
        }
}

结果 :AA
          Key
作者: 李然    时间: 2013-12-23 11:44
改变了,你的map中有个一个元素,这个元素的key值对应的值是null。
作者: 闫志军    时间: 2013-12-23 14:23
Map中存储的是键值对,你添加的key所对应的value就是null ,你要注意,这时候不能用Hashtable,它是不允许null作为key和value的。hashmap和treemap 均可。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2