5分钟学会hashMap和hashtable的主要知识点

HashMap和HashTable的主要知识点

HashMap

  • HashMap是一个“链表数列”的结构,底层为一个数组,数组里面每一项是一个链表。
  • HashMap中有两个参数可以影响其性能:“初始容量”和“装填因子”。
  • HashMap实现不同步,线程不安全。(HashTable线程安全)。
  • HashMap中的key-value都是存储在Entry中的。
  • HashMap可以存null键和null值,通过hashcode()方法和equals()方法保证键的唯一性。
  • 解决冲突有三种方法:定位法,拉链法,再散列法。HashMap采用拉链法解决冲突。

HashMap和HashTable的区别

  • 继承不同:
    • public class Hashtable extends Dictionary implements Map
    • public class HashMap extends AbstractMap implements Map
  • HashTable中方法是同步的,而HashMap方法是非同步的。
  • HashTable中,key和value都不允许出现null值;在Hahsmap中,null键最多存在一个。
    • 在HashMap中,因为null可以作为键或值,使用get()方法既可以表示该HashMap中没有该键,也可以表示该键对应的值为null,故HashMap中不能用get()方法来判断是否存在该键,而应用containsKey()方法判断。
发布了65 篇原创文章 · 获赞 26 · 访问量 2889

猜你喜欢

转载自blog.csdn.net/weixin_43332735/article/details/105004989
今日推荐