ArrayList、Vector、HashSet、HashMap、HashTable的初始大小、加载因子、扩容倍数、底层数据结构
Class |
初始大小 |
加载因子 |
扩容倍数 |
底层数据结构 |
Code |
是否线程安全 |
同步方式 |
ArrayList |
10 |
1 |
1.5倍 |
数组 |
int newCapacity = oldCapacity + (oldCapacity >> 1); |
线程不安全 |
- |
Vector |
10 |
1 |
2倍 |
数组 |
int newCapacity = oldCapacity + ((capacityIncrement > 0) ? |
线程安全 |
synchronized |
HashSet |
16 |
0.75 |
2倍 |
Hash散列表 |
add方法实际调用HashMap的方法put |
线程不安全 |
- |
HashMap |
16 |
0.75 |
2倍 |
Hash散列表 |
void addEntry(int hash, K key, V value, int bucketIndex) { |
线程不安全 |
- |
Hashtable |
11 |
0.75 |
2倍+1 |
Hash散列表 |
int newCapacity = (oldCapacity << 1) + 1; |
线程安全 |
synchronized |
本文地址:https://blog.csdn.net/weixin_44900158/article/details/109560738
下一篇: 图论--关于最长路的探讨