Java基础之Map集合

Map集合
--------------------------------------------------------------------------
该集合存储键值对,一对一对往里存;而且要保证键的唯一性。

增加:
 V put(K key,V value);
        如果添加相同键的值,那么会覆盖原有值,并返回被覆盖的值
 void putAll(Map<? extends K,? extends V) m);

删除:
 void clear();
 remove(Object key);

判断:
 boolean containsValue(Object value);
 boolean containsKey(Object key);
 isEmpty();

获取:
 get(Object key);
 size();
 values();

 Set<Map.Entry<K,V>> entrySet();
        将Map集合中的映射关系存入到Set集合中,而这个关系的数据类型就是:Map.Entry<K,V>
        其实Entry也是一个接口,是Map接口中的一个内部接口;
       

 Set<K> keySet();
        将map中所有的键存入Set集合,因为Set具备迭代器,所以可以迭代方式取出所有的键,然后用Map.get()方法,获取到每一个键对应的值;

Map
 Hashtable:底层是哈希表数据结构,不可以存入null键,null值;该集合是线程同步的(jdk.10,效率低)
 HashMap:底层是哈希表数据结构,允许使用null键,null值;该集合是不同步的(jdk1.2,效率高)
 TreeMap:底层是二叉树数据结构,线程是不同步的;可以用于给Map集合中的键进行排序(和Set很像,其实Set底层就是使用了Map集合)

 

posted @ 2013-01-17 17:22  陈晓明  阅读(198)  评论(0编辑  收藏  举报