HashSet()和HashMap()实现原理!

HashMap 的实现原理:

HashMap是基于Hash算法实现的,
我们通过put(key,value)存储数据,通过get(key)来获取数据

当传入key时,HashMap会根据Key.hashCode()计算出Hash值,根据Hash值将value保存在bucket里 ,。

当计算出相同的Hash值时,我们称之为Hash冲突,HashMap 的做法是用链表和红黑树存储相同Hash值的value,
当hash冲突的个数比较少时,使用链表存储,
否则使用红黑树。

HashSet 的实现原理:

HashSet是基于HashMap实现的,HashSet 底层使用HashMap来保存所有元素,

因此HashSet 的实现比较简单,相关HashSet 的操作,基本上都是直接调用底层HashMap的相关方法来完成,HashSet不允许有重复的值,并且元素是无序的。


 上一篇
Queue集合和set集合(HashSet(),TreeSet())! Queue集合和set集合(HashSet(),TreeSet())!
Queue集合: 此集合是collection的子集合,与set,List集合属于同级,用于描述有先进先出的数据结构(队列),其实现子类是LinkedList(): 常用的方法: boolean offer(E a) –将内容加入到队列
2019-10-21
下一篇 
List集合! List集合!
list集合是我们collection集合的一个子集合;元素有先后放入顺序且可重复,主要实现类有ArraryList,LinkList,Static,Vector ArraryList底层是数组,访问元素方便,增删不便;LinkLis
2019-10-19
  目录