欢迎访问宙启技术站
智能推送

Java中的HashMap类函数

发布时间:2023-05-30 15:13:41

HashMap是一种常用的数据结构,它在Java中实现为HashMap类。HashMap允许使用者将对象存储在键值对中,其中键是 的,每个键对应一个值。该类提供了多种功能,包括添加、删除、查找和修改元素。下面将详细介绍HashMap类的函数。

HashMap类的构造函数有四个:

1. HashMap()

构造一个具有默认初始容量(16)和默认加载因子(0.75)的空HashMap。

2. HashMap(int initialCapacity)

构造一个指定初始容量和默认加载因子(0.75)的空HashMap。

3. HashMap(int initialCapacity, float loadFactor)

构造一个指定初始容量和加载因子的空HashMap。

4. HashMap(Map<? extends K,? extends V> m)

构造一个包含指定Map中所有元素的新HashMap。

HashMap类的常见方法:

1. put(K key, V value)

将指定的键值对放入map中,如果已经存在,则用新值覆盖旧值,并返回旧值。

2. get(Object key)

返回与指定键关联的值,如果指定键未关联任何值,则返回null。

3. remove(Object key)

从此映射中移除指定键对应的映射,如果存在,则返回与键关联的旧值。

4. containsKey(Object key)

如果此映射包含指定键的映射,则返回true。

5. containsValue(Object value)

如果此映射将一个或多个键映射到指定值,则返回true。

6. keySet()

返回此Map中所有键的视图。

7. values()

返回此Map中所有值的视图。

8. clear()

从此Map中删除所有映射关系。

9. size()

返回此Map中映射关系的数量。

10. isEmpty()

如果此Map中没有键-值映射,则返回true。

11. entrySet()

返回此Map中所有映射关系的视图。

12. putAll(Map<? extends K,? extends V> m)

将指定Map中所有的键值对复制到此Map中。

13. replace(K key, V value)

替换该Map中指定键的值为新值,返回此键的旧值。

14. replace(K key, V oldValue, V newValue)

根据给定的键和旧值,替换该Map中旧值为新值,返回此键的新值。

15. computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)

使用指定的mapper函数来计算键key的当前值(如果在这之前不存在),并将该值插入到这个Map中。

16. computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)

使用指定的函数,并将键key目前的值重新映射到新值的键。

HashMap类的性能表现高,在键值对数量超过容量时,HashMap自动增加容量和重新哈希密钥,使其性能在大多数情况下都保持很高的水平。

总的而言,HashMap是Java中常用又实用的数据结构,开发人员可以通过使用HashMap的相关功能,更容易地完成对数据的查询、操作和管理,从而更好地满足业务的需求。