Java 初学者的Map集合教程
原文: https://javabeginnerstutorial.com/core-java-tutorial/map-collection-tutorial-for-java-beginners/
Map
是 Java 集合框架下的一个接口。
Map接口的主要特征
- 它是一个用于将键映射到值的对象。
- 映射不能包含重复值。
- 每个键最多可以映射到一个值。
- 该接口替代了
Dictionary
类,后者是一个抽象类,而不是接口。 Map
接口允许 3 个集合视图- 键集
- 值集
- 键值映射集
- 由于
Map
如上所述提供了 3 个视图,因此您可以迭代键,值或键值对。 - 可以在迭代过程中以安全的方式从
Map
中删除条目。 - 不允许映射包含自身作为键。
- 映射可以包含自身作为值。
- 一些映射实现可以包含的键和值有一些限制。
- 尝试插入不合格的键或值将引发非受检异常。
具体映射实现
HashMap
HashTable
EnumMap
IdentityHashMap
LinkedHashMap
Properties
TreeMap
WeakHashMap
ConcurrentSkipListMap
ConcurrentHashMap
Map接口中的重要方法
put(K key, V value)
:使用指定的键将指定的值放入映射中。putAll(Map<? extends K, ? extends V> m)
:将所有映射从给定Map
复制到此Map
。keySet()
:返回包含此映射中的键集。values()
:返回一个集合,其中包含此Map
中的所有值。isEmpty()
:检查给定Map
中是否有任何元素。remove(Object key)
:从此映射中删除键的映射(如果存在)。containsKey(Object key)
:检查指定键是否存在任何映射。containsValue(Object value)
:检查是否存在用于指定对象的任何映射(可能不止一个)。get(Object key)
:返回与此键关联的值。clear()
:用于从给定映射中移除所有映射。