Java HashMap
2022/2/3 9:12:23
本文主要是介绍Java HashMap,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
HashMap
1. 构造器
1.1. HashMap()
构造一个默认初始容量(16)和默认加载因子(0.75)的HashMap
。
1.2 HashMap(int initialCapacity)
构造一个指定初始容量和默认加载因子(0.75)的HahMap
。
1.3 HashMap(int initialCapacity, float loadFactor)
2. 方法
2.1. size
public int size()
返回在map中的 key-value 数量。
2.2. isEmpty
public boolean isEmpty()
如果map中不包含key-value,则返回true
。
2.3. get
public V get (Object key)
返回指定key在map中对应的value,如果map中没有此key,返回null
。
2.4. ContainsKey
public boolean containsKey(Object key)
如果map中包含key值,返回true
。
2.5. put
public V put(K key, V value)
将指定key-value添加到map中,如果map中已经包含key值相关的映射,则替换旧value。
2.6. putAll
public void putAll(Map<? extends K,? extends V> m)
将指定map中的所有mappings复制到当前map中,如果当前map中已经存在指定map中的key,则会被替换。
2.7. Remove
public V remove(Object key)
如果map中存在指定key,则将其删除。
2.8. clear
public void clear()
删除map中的所有mappings。
2.9. containsValue
public boolean containsValue(Object value)
如果map中包含一个或者多个指定value的key-value,返回true
。
2.10. keySet
public Set<K> keySet()
返回map中所有key组成的的Set<K>
。
2.11 values
public Collection<V> values()
返回:a view of the values contained in this map。
2.12 entrySet
public Set<Map.Entry<K,V>> entrySet()
返回map中映射关系的set view。
2.13 computeIfAbsent
public V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
computeIfAbsent()
方法对 `hashMap 中指定 key 的值进行重新计算,如果不存在这个 key,则添加到 hashMap 中。
2.14 computeIfPresent
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
computeIfPresent() 方法对 hashMap 中指定 key 的值进行重新计算,前提是该 key 存在于 hashMap 中。
2.15 compute
2.16 merge
public V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
merge() 方法会先判断指定的 key 是否存在,如果不存在,则添加键值对到 hashMap 中。
2.17 clone
public Object clone()
clone() 方法用于复制一份 hashMap,属于浅拷贝。
拓展:
浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存, 所以如果其中一个对象改变了这个地址,就会影响到另一个对象。
浅拷贝对应的就是深拷贝,深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象。
这篇关于Java HashMap的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略