哈希表:数组+链表
JDK8之前,底层采用数组+链表实现,可以说是一个元素为链表的数组
JDK8以后,在长度比较长的时候,底层实现了优化
初始数组长度是 16
扩容:
hashset添加元素,对于对象的添加,优于new的对象hashcode不同,即使属性相同也会被当做不同元素存入集合中。因此为了识别属性相同的同一元素,将就需要重写hashcode和equals方法。
哈希表:数组+链表
JDK8之前,底层采用数组+链表实现,可以说是一个元素为链表的数组
JDK8以后,在长度比较长的时候,底层实现了优化
初始数组长度是 16
扩容:
hashset添加元素,对于对象的添加,优于new的对象hashcode不同,即使属性相同也会被当做不同元素存入集合中。因此为了识别属性相同的同一元素,将就需要重写hashcode和equals方法。