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

HashMap在Java中的使用及其相关方法

发布时间:2023-06-15 18:05:57

HashMap是Java中的一个关键字,是一种非同步、无序、基于哈希表的Map接口实现类。它使用了键对象的哈希码来存储数据,可以快速定位到存储位置,因此在查找和插入操作中具有很高的效率。本文将介绍HashMap的主要使用方式及相关方法。

1. HashMap的创建

HashMap的创建方式有两种,一种是使用默认的初始容量(16)和负载因子(0.75)来创建HashMap对象,另一种是通过指定初始容量和负载因子来创建HashMap对象。

//创建HashMap对象,默认情况下容量为16,负载因子为0.75

HashMap<String, Integer> hashMap1 = new HashMap<>();

//创建HashMap对象,指定容量为32,负载因子为0.8

HashMap<String, Integer> hashMap2 = new HashMap<>(32, 0.8f);

2. HashMap的插入元素

插入元素可以使用put()方法,该方法会将键值对插入到HashMap中。如果该键已经存在,则会将对应的值覆盖。

hashMap.put(key, value); 

3. HashMap的获取元素

获取元素可以使用get()方法,该方法会根据键来获取对应的值。

hashMap.get(key);

4. HashMap的遍历方式

- 使用entrySet()方法进行遍历,它返回一个包含所有键值对的Set集合

for (Map.Entry<String, Integer> entry : hashMap.entrySet()) {

   String key = entry.getKey();

   Integer value = entry.getValue();

   System.out.println(key + " : " + value);

}

- 使用keySet()方法进行遍历,该方法返回一个包含所有键的Set集合。

for (String key : hashMap.keySet()) {

   Integer value = hashMap.get(key);

   System.out.println(key + " : " + value);

}

- 使用values()方法进行遍历,该方法返回一个包含所有值的Collection集合。

for (Integer value : hashMap.values()) {

   System.out.println(value);

}

5. HashMap的删除元素

删除元素可以使用remove()方法,该方法会根据键来删除对应的键值对。

hashMap.remove(key); 

6. HashMap的清空操作

清空操作可以使用clear()方法,该方法会将HashMap中的所有键值对全部清除。

hashMap.clear(); 

7. HashMap的大小操作

获取HashMap的大小可以使用size()方法,它会返回HashMap中键值对的数量。

hashMap.size(); 

8. HashMap的判断操作

可以使用containsKey()方法来判断HashMap中是否含有指定的键;使用containsValue()方法判断HashMap中是否含有指定的值。

hashMap.containsKey(key); 

hashMap.containsValue(value); 

9. HashMap的扩容机制

当HashMap中的元素数量达到一定规模时,若继续添加元素,则可能会导致哈希冲突的增加,降低HashMap的效率。此时,HashMap会自动扩容,增加容量。HashMap的初始容量是16,每次扩容会将容量增加一倍。同时,每次扩容后,HashMap会重新计算所有元素的位置,使其均匀分布。扩容会消耗一定的时间和空间,因此在预知HashMap中元素数量的情况下,尽量在创建时指定初始容量。

以上就是HashMap在Java中的使用及其相关方法介绍,希望对你有所帮助。