Java教程

Java HashMap

本文主要是介绍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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!