How to use threshold and capacity of Hashmap in JDK
This article introduces the knowledge about "how to use threshold and capacity of Hashmap in JDK". In the actual case operation process, many people will encounter such difficulties. Next, let Xiaobian lead you to learn how to deal with these situations! I hope you can read carefully and learn something!
JDK8
List-1
public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity
< 0) throw new IllegalArgumentException("Illegal initial capacity: " + initialCapacity); if (initialCapacity >MAXIMUM_CAPACITY) initialCapacity = MAXIMUM_CAPACITY; if (loadFactor >> 1; n |= n >>> 2; n |= n >>> 4; n |= n >>> 8; n |= n >>> 16; return (n
< 0) ? 1 : (n >= MAXIMUM_CAPACITY) ? MAXIMUM_CAPACITY : n + 1;}
tableSizeFor returns the number greater than the input parameter and nearest integer power of 2.
When starting to construct HashMap, pass 6, tableSizeFor gets 8, then because the table array is empty, so create a table[] with length 8, then 8*0.75 gets a new threshold, that is 6, when inserting values into hashmap, the number of elements exceeds 6, then expand, the length of the table array becomes 16(8*2).
Reference
https://www.cnblogs.com/loading4/p/6239441.html
"How to use threshold and capacity of Hashmap in JDK" is introduced here. Thank you for reading it. If you want to know more about industry-related knowledge, you can pay attention to the website. Xiaobian will output more high-quality practical articles for everyone!