hashmap和hashtable的相同与不同?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ocean_tu/article/details/82951356

hashtable& hashmap

区别

hashtable hashmap
时间 JDK1.1 JDK1.2
数据结构 数组+链表 数组+链表+红黑树(单链表节点>8时)
父类 抽象类Dictionary 抽象类AbstractMap
initialCapacity 11 16
扩容方式 2n+1 2n
确认key在数组中的索引的方法 (hash & 0x7FFFFFFF) % tab.length i =(n-1)%hash
遍历方式 Iterator和Enumeration Iterator
Iterator遍历数组顺序 索引从大到小 索引从小到大
Null Key & Null Value 不支持,抛出NullPointerException 支持
线程是否安全 安全 不安全
性能高低

☆int hash = key.hashCode();
☆Entry<?,?> tab[] = table; tab.length是数组的长度

猜你喜欢

转载自blog.csdn.net/Ocean_tu/article/details/82951356