Java HashMap类各种方法的使用说明

本文详细介绍了JavaHashMap类中常用的19个方法,包括添加、获取、删除、检查键值关系、清空、大小判断以及集合视图操作,强调了其在数据处理中的高效性和灵活性。
摘要由CSDN通过智能技术生成

   

目录

1. put(K key, V value)

2. get(Object key)

3. remove(Object key)

4. containsKey(Object key)

5. containsValue(Object value)

6. clear()

7. size()

8. isEmpty()

9. keySet()

10. values()

11. entrySet()

12. putAll(Map m)

13. getOrDefault(Object key, V defaultValue)

14. replace(K key, V value)

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

16. computeIfAbsent(K key, Function mappingFunction)

17. computeIfPresent(K key, BiFunction remappingFunction)

18. compute(K key, BiFunction remappingFunction)

19. merge(K key, V value, BiFunction remappingFunction)

结论


     Java中的HashMap类实现了Map接口,提供了键值对映射的存储结构。这使得数据的存取可以通过键(Key)来高效地进行。HashMap位于java.util包中。以下是HashMap类中一些常用方法的使用说明:

1. put(K key, V value)

  • 描述:将指定的值与此映射中的指定键关联。
  • 使用hashMap.put(key, value);

2. get(Object key)

  • 描述:返回指定键所映射的值,如果映射不包含该键的映射关系,则返回null。
  • 使用V value = hashMap.get(key);

3. remove(Object key)

  • 描述:如果存在一个键的映射关系,则将其从映射中移除。
  • 使用hashMap.remove(key);

4. containsKey(Object key)

  • 描述:如果此映射包含指定键的映射关系,则返回true。
  • 使用boolean exists = hashMap.containsKey(key);

5. containsValue(Object value)

  • 描述:如果此映射将一个或多个键映射到指定值,则返回true。
  • 使用boolean exists = hashMap.containsValue(value);

6. clear()

  • 描述:从此映射中移除所有的映射关系。
  • 使用hashMap.clear();

7. size()

  • 描述:返回此映射中的键值对的数量。
  • 使用int size = hashMap.size();

8. isEmpty()

  • 描述:如果此映射不包含键值对的映射关系,则返回true。
  • 使用boolean isEmpty = hashMap.isEmpty();

9. keySet()

  • 描述:返回此映射中包含的键的Set视图。
  • 使用Set<K> keySet = hashMap.keySet();

10. values()

  • 描述:返回此映射中包含的值的Collection视图。
  • 使用Collection<V> values = hashMap.values();

11. entrySet()

  • 描述:返回此映射中包含的映射关系的Set视图。
  • 使用Set<Map.Entry<K, V>> entrySet = hashMap.entrySet();

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

  • 描述:将指定映射的所有映射关系复制到此映射中。
  • 使用hashMap.putAll(anotherMap);

13. getOrDefault(Object key, V defaultValue)

  • 描述:返回指定键所映射的值,如果此映射不包含该键的映射关系,则返回defaultValue。
  • 使用V value = hashMap.getOrDefault(key, defaultValue);

14. replace(K key, V value)

  • 描述:只有当键已经存在于映射中时,用指定值替换键所映射的值。
  • 使用hashMap.replace(key, value);

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

  • 描述:只有当键已经存在于映射中且当前映射到oldValue时,才用newValue替换oldValue。
  • 使用hashMap.replace(key, oldValue, newValue);

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

  • 描述:如果指定的键尚未与值关联(或映射到null),则尝试使用给定的映射函数计算其值,并进入此映射。
  • 使用hashMap.computeIfAbsent(key, k -> newValue);

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

  • 描述:如果指定键的值存在且非null,则尝试计算新的映射值。
  • 使用hashMap.computeIfPresent(key, (k, v) -> newValue);

18. compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction)

  • 描述:尝试计算指定键及其当前映射值的新映射。
  • 使用hashMap.compute(key, (k, v) -> newValue);

19. merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction)

  • 描述:如果指定键找不到或其值为null,将其与给定值关联;否则执行remappingFunction并重新关联。
  • 使用hashMap.merge(key, value, (v1, v2) -> newValue);

结论

    HashMap类提供了丰富的方法来操作键值对数据,包括添加、删除、修改、查询等。它是基于哈希表的Map接口的非同步实现,不保证映射的顺序;特别是它不保证顺序会随着时间的推移保持不变。在实际应用中,根据需求合理选择和使用这些方法,可以提高数据处理的效率和便捷性。

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值