HashMap与HashTable的区别联系
HashMap与HashTable的区别联系
hashmap是线程非安全的,用于单线程,如果要使用多线程,还需要自己操作,使用conCurrentHashMap Hashtable是线程安全的,用于多线程 hashMap的底层在1.8之前使用链表+数组实现,Hashtable底层使用链表实现。在1.8之后hashmap就是使用数组+链表+红黑树,链表是用来计算是否冲突,数组是用于存储数据。使用链地址法解除冲突。 hashmap中存储的是 Key -Value,HashTable也是使用key-Value,另外hashmap是需要两次计算才能获取到key的位置,table只需要一次就可以,table直接使用key的hashcode值,但是map在取得key的hashcode之后还需要在重新hash一次。 hashmap继承的是AbstractHashmap类,而hashtable继承的是Directory
共有 0 条评论