JAVA-基础(Set~HashSet)
2020-12-13 02:06
标签:哈希 and 依次 mamicode block java 良好的 性能 存储结构 1.什么是set? 2.HashSet? hashCode是每个对象特有的哈希码,类似于地址。 3.特点? 存储数据的结构是数组+链表实现,同一hash值的链表都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低但是当链表长度超过阈值8时,就会取消链表转为红黑树(红黑树能够加快查询效率) 2.LinkedHashSet? JAVA-基础(Set~HashSet) 标签:哈希 and 依次 mamicode block java 良好的 性能 存储结构 原文地址:https://www.cnblogs.com/fan123yh/p/11026406.htmlJAVA-基础(Set~HashSet)
java.util.Set
接口和java.util.List
接口一样,同样继承自Collection
接口,Set
接口中元素无序,并且都会以某种规则保证存入的元素不出现重复。java.util.HashSet
是Set
接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的。HashSet
是根据对象的哈希值来确定元素在集合中的存储位置,因此具有良好的存取和查找性能。保证元素唯一性的方式依赖于:hashCode
与equals
方法。java.util.LinkedHashSet
,它是链表和哈希表组合的一个数据存储结构。有序。