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() :用于从给定映射中移除所有映射。