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()方法判断。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值