8.3.2 LinkedHashSet类
8.3.2 LinkedHashSet类
LinkedHashSet有序
HashSet
还有一个子类LinkedHashSet
, LinkedHashSet
集合也是根据元素的hashCode
值来决定元素的存储位置,但它同时使用链表维护元素的次序,这样使得元素看起来是以插入的顺序保存的。
也就是说,当遍历LinkedHashSet
集合里的元素时, LinkedHashSet
将会按元素的添加顺序来访问集合里的元素。LinkedHashSet
需要维护元素的插入顺序,因此性能略低于HashSet
的性能,但在迭代访问Set
里的全部元素时将有很好的性能,因为它以链表来维护内部顺序。
程序 LinkedHashSet类
1 | import java.util.*; |
编译、运行上面程序,看到如下输出:
1 | [疯狂Java讲义, 轻量级Java EE企业应用实战] |
LinkedHashSet是有序的集合
输出LinkedHashSet
集合的元素时,元素的顺序总是与添加顺序一致。
Set集合不可重复
虽然LinkedHashSet
使用了链表记录集合元素的添加顺序,但LinkedHashSet
依然是HashSet
,因此它依然不允许集合元素重复