Map 接口并没有继承Collection接口
HashMap
: 哈希表数据结构,是线程不同步的,快速。允许存储 null 键,null 值。替代了 Hashtable
。
LinkedHashMap
:见LinkedHashMap
简明
TreeMap
:搜索树数据结构,可以对 map 集合中的键进行指定顺序的排序。允许存放 null 键,null 值。
Hashtable
:哈希表数据结构,是线程同步的,慢速。不可以存储 null 键,null 值。
put (key,value)
:当存储的键相同时,新的值会替换旧值,并返回旧值。如果键不重复,返回 null。void putAll (Map)
void clear ()
:清空value remove (key)
:删除指定键。boolean isEmpty ()
:是否为空boolean containsKey (key)
:是否包含 keyboolean containsValue (value)
:是否包含 valueint size ()
:返回长度value get (key)
:通过指定键获取对应的值。Set<K> keySet()
返回映射表中所有键的集视图。Collection<V> values()
返回映射表中所有值得集合视图。Set< Map.Entry<K,V>> entrySet()
返回Map.Entry对象的集视图,即映射表中的键值对。取出 map 集合中所有元素的方式一: keySet()
方法。可以将 map 集合中的键都取出存放到 set 集合中。对 set 集合进行迭代。迭代完成,再通过 get 方法进行值的获取。
Map<String, Employee> staff = new HashMap<>(); // HashMap implements Map
Employee harry = new Employee("Harry Hacker");
staff.put("978-98-9996", harry);
Set<String> akeySet = staff.keySet();
Iterator<String> it = akeySet.iterator();
while(it.hasNext()) {
String key = it.next();
Employee value = staff.get(key);
System.out.println(key + ":" + value);
}
取出 map 集合中所有元素的方式二: entrySet()
方法。
for(Map.Entry<String,Employee> entry : staff.entrySet()){
String key = entry.getKey();
Employee value = entry.getValue();
System.out.println(key+":"+value);
}
原文:https://www.cnblogs.com/LittleTreasureBox/p/8830999.html