Map类及其主要的实现类

Map接口提供将键映射至值的功能,每个键最多只能映射至一个值。Map接口的主要方法如表1所示

表1 Map接口中的常用方法
方法声明 方法功能
Object put(Object key,Object value) 将指定的值和键相关联,如果映射中包含了键key则这是一个更新操作
Object get(Object key) 返回键为key的值
Object remove(Object key) 如果存在此键的映射关系,则将其从映射中移除
boolean isEmpty() 判断是否为空
void clear() 清空
int size() 返回键值对的个数
boolean containsKey(Object key) 是否含有键为key的键值对
boolean containsValue(Object value) 是否含有值为value的键值对
Set keySet() 返回此映射中包含的键的Set视图
Collection value() 返回此映射中包含的值的Collection视图

Map接口的实现类主要有HashMap、LinkedHashMap和TreeMap。HashMap以哈希表为内核实现Map接口,它的键-值对的顺序和放入的顺序无关;键无重复。LinkedHashMap以哈希表和链表为内核实现Map接口,键-值对的顺序是放入的顺序;键无重复。TreeMap以二叉树为内核实现Map接口,键-值对按照键的升序进行排列;键值无重复。

HashMap与HashTable

HashMap是基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用空(null)值和空(null)键。除了不同步和允许使用null之外,HashMap类与HashTable类大致相同。HashTable类实现一个哈希表,该哈希表将键映射到相应的值。任何非null对象都可以用作键或值。为了成功地在哈希表中存储和检索对象,用作键的对象必须实现hashCode方法和equals方法。

 

 

你可能感兴趣的:(Java)