HashMap是一个实现了Map接口的Java数据结构,它允许我们使用键值对(key-value)进行存储和检索。以下是HashMap的常用成员方法:
-
构造方法:
- HashMap():创建一个空的HashMap。
- HashMap(int initialCapacity):创建一个初始容量为给定值的HashMap。
- HashMap(Map m):创建一个由给定Map对象复制内容的HashMap。
-
添加数据:
- put(K key, V value):向HashMap中添加一个键值对。如果键已存在,则覆盖原有值。
- putIfAbsent(K key, V value):如果键不存在,则添加键值对。如果键已存在,则不执行任何操作。
-
获取数据:
- get(Object key):获取指定键的值。如果键不存在,则返回null。
- getOrDefault(K key, V defaultValue):获取指定键的值。如果键不存在,则返回默认值。
-
删除数据:
- remove(Object key):删除指定键对应的键值对。如果键不存在,则不执行任何操作。
-
检查数据是否存在:
- containsKey(Object key):检查HashMap中是否存在指定键。
- containsValue(Object value):检查HashMap中是否存在指定值。
-
获取键或值集合:
- keySet():获取HashMap中所有键的集合。
- entrySet():获取HashMap中所有键值对的集合。
- values():获取HashMap中所有值的集合。
-
修改数据:
- putAll(Map<? extends K, ? extends V> m):将给定Map中的所有键值对添加到当前HashMap中。
- removeAll(Map m):删除HashMap中与给定Map中相同的键值对。
- retainAll(Map m):保留HashMap中与给定Map中相同的键值对,删除其他元素。
-
遍历和迭代:
- foreach(Map.Entry<K, V> entry):遍历HashMap中的每个键值对。
- forEach(BiConsumer<? super K, ? super V> action):对HashMap中的每个键值对执行给定的操作。
-
其他方法:
- size():返回HashMap中的键值对数量。
- isEmpty():判断HashMap是否为空。
- clear():清空HashMap。
- clone():创建一个HashMap的副本。
- toString():返回HashMap的键值对字符串表示。
这些方法可以帮助在处理HashMap数据时实现各种功能。请注意,HashMap是无序的,即它不保证插入和访问的顺序。如果需要保持插入顺序,请考虑使用LinkedHashMap。
(加粗是LeetCode算法orCCFcsp认证Java常用的)