集合-Map

来源:互联网 发布:国内开会软件 编辑:程序博客网 时间:2024/06/16 03:51
Map接口:将唯一的键(键不可重复)映射到值。
HashMap
哈希表, 散列表,存放“键值对”数据,用来快速查找数据
键,不重复,无序

创建对象:

//创建一个空的哈希映射HashMap map = new HashMap();//将m的所有映射添加到创建的哈希映射中HashMap map = new HashMap(Map m);//创建一个指定容量的哈希映射HashMap map = new HashMap(int Capacity);//同时初始化散列映射的容量和填充比HashMap map = new HashMap(int Capacity,float fillRatio);

方法
put(Object key, Object value)
  放入键值对数据,如果键已存在则修改键的值
putAll(Map m)   将指定映射的所有映射关系复制到此映射
get(Object key)   返回键对应的值
remove(Object key)  移除指定的键和它的值
containsKey(Object key)  是否包含指定的键
containsValue(Object value)  是否包含指定的值
size()  有多少对数据
clear()  清空
isEmpty()  判断映射是否为空
keySet()  获得一个 Set 类型集合,包含所有的键
entrySet()  获得一个 Set 类型集合,包含所有 Entry
values()  获得集合,包含所有的值

TreaMap
红黑树,用来快速查找数据
键,不重复,有序(按关键字升序排序)
键比较大小
      键实现 Comparable 接口
      TreeMap 外接比较器对象 Comparator
创建对象
//1.创建一个空的映射树 TreeMap map = new TreeMap();//2.初始化树映射,使用关键字按自然排序TreeMap map = new TreeMap(Map m);   //3.构建一个映射树,并且使用特定的比较器关键字进行排序TreeMap map = new TreeMap(Comparator cp); 

方法
put(Object key, Object value)
   放入键值对数据
get(Object key)   用键获得对应的值
remove(Object key)    移除指定的键和它的值
containsKey(Object key)  是否包含指定的键
containsValue(Object value)  是否包含指定的值
size()  有多少对数据
clear()  清空
comparator()  返回用于对此映射进行排序的比较器。如果此映射使用它的键的自然顺序,则返回null
keySet() 
  获得一个 Set 类型集合,包含所有的键
entrySet()   获得一个 Set 类型结合,包含所有 Entry
values()   获得集合,包含所有的值
firstKey()  返回有序映射中当前第一个键
lastKey()  返回有序映射中当前最后一个键
headMap(Object toKey)  返回此映射的部分

HashMap与TreeMap
当用户需要对Map进行频繁的插入、删除元素时,使用HashMap。
如果只是按照自然顺序或自定义遍历,使用TreeMap。
HashMap添加的键类必须重写hashCode()和equals()方法,TreeMap的键类必须实现 Comparable接口。(如果没实现,就需要给TreeMap制定Comparator)

原创粉丝点击