Map集合

来源:互联网 发布:淘宝卖家怎么买运费险 编辑:程序博客网 时间:2024/06/06 03:18

    Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能应设一个value,key还决定了存储对象在映射中的存储位置。但不是由key对象本身没决定的,而是通过一种“散列技术”进行处理,产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内训区域的起始位置,从而确定春处对象在映射中的存储位置。Map集合包括Map接口以及Map接口所有实现的类。

1、Map接口
 Map接口提供了将key映射到值得对象,一个映射不能包含重复的key,每一个key最多只能映射到一个值。Map接口中同样提供了集合的常用方法,除此之外还包括如下表所示的常用的方法
 Map接口中常用的方法:
     put(Kkey,V value):向集合中添加指定的key与value的映射关系
    containKey(Object key)如果此映射中包含指定key的映射关系则返回true
    containValue(Objectvalue)如果此映射将一个或多个key映射到指定值,则返回true
    get(Objectkey)如果存在指定的key对象,则返回该对象对应的只,否则返回null
    keySet()返回该集合中的所有key对象形成的Set集合
    values()返回该集合中所有制对象形成的Collection集合
2、Map的实现类
Map常有的实现类有HashMap和TreeMap。建议使用HashMap类实现Map集合,因为由HashMap类实现的Map集合天嘉禾删除映射关系效率更高。HashMap是基于韩系表的Map接口的实现,HashMap通过哈希码对其内部的映射关系进行快速查找;而TreeMap中的映射关系存在一定的顺序,如果希望Map集合中的对象也存在一定的顺序,应该使用TreeMap类实现Map集合。
 HashMap类是基于哈希表的Map接口的实现,此实现提供可选的映射操作,并允许使用null值和null键,但是必须保证建的唯一性。HashMap通过哈希表对其内部的映射关系进行快速查找。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。
TreeMap类不仅实现了Map接口,还实现了java.util.SortedMap接口,因此,集合中的映射关系具有一定的顺序,但是添加删除和定位映射关系是,TreeMap类比HashMap类性能稍差。
由于TreeMap类实现的Map集合中的映射关系是根据见对象按照一定的顺序排列的,因此不允许建值是null。