Map集合(直接继承Object)
Map集合特点
- 提供key到value的映射
- map中不能包含相同的key值
- 每个key只能映射一个value
Map接口
Map接口提供了将key映射到值得对象。一个映射不能包含重复得key,每个key最多只能映射到一个值。Map接口中同样提供了集合得常用方法,然后加上以下常用方法。
方法 | 作用 |
---|---|
put(K key, V value) | 向集合中添加指定得key值与value得映射关系 |
containsKey(Object value) | 如果此映射包含指定key得映射关系,则返回true |
containsValue(Object value) | 如果此映射将一个或多个key映射到指定值,则返回true |
get(Object key) | 如果存在指定的key对象,则返回该对象对应的值,否则返回null |
keySet() | 返回该集合中的所有key对象形成的Set集合 |
values() | 返回该集合中所有值对象形成的Collection集合 |
- Map集合中允许值对象是null,而且没有个数限制。例如:可通过“map.put(“05”, null);”语句向集合中添加对象
Map接口的实现类
HashMap类:
HashMap类是基于哈希表的Map接口的实现。
他可以提供所有可选的映射操作
允许使用null值和null键,但要保证键的唯一性
HahsMap类的Map集合添加、删除映射关系效率相比TreeMap更高。
HashMap类不能保证映射的顺序,不保证顺序永久不变
TreeMap类:
TreeMap实现Map类同时实现了java.util.SortedMap接口,集合中的映射关系具有一定的顺序
添加、删除、定位映射关系时,TreeMap相比HashMap性能差点
TreeMap实现Map集合中的映射关系时根据键对象按照一定的顺序排列的,因此不允许键对象是null