HashSet的底层

今天看博客,发现有个哥哥写到 HashSet的底层是数组结构,有点懵逼,不是HashMap吗怎么成数组了?

遂去查了下源码:

得以下结论:

HashSet底层是 HashMap,其元素是内部map的key;

所有key所对应的值都是一个静态的Object;

至于HashMap的结构:这是另外一个哥哥写的

数组+链表的结构

HashMap的存取值:

// 存储时:
int hash = key.hashCode();
int index = hash % Entry[].length;
Entry[index] = value;
// 取值时:
int hash = key.hashCode();
int index = hash % Entry[].length;
return Entry[index];

posted @ 2018-09-17 20:48  宅小涛  阅读(357)  评论(0编辑  收藏  举报