博客名称 |
---|
Java-(中级) |
常用对象Set-LinkedHashSet集合
java.util.LinkedHashSet集合 extends HashSet集合
LinkedHashSet集合特点:
底层是一个哈希表(数组+链表/红黑树【jdk8后加了红黑树】)+链表:多了一条链表(记录元素的存储顺序),保证元素有序。
也就是:
哈希表保证元素的唯一性。
链表保证元素有序(不等于排序)。(存储和取出是一致)
代码演示
public class LinkedHashSetDemo {
public static void main(String[] args) {
HashSet<String> hs = new HashSet<>();
//添加元素
hs.add("hello");
hs.add("world");
hs.add("java");
System.out.println("HashSet--"+hs);
System.out.println("----------------------------");
LinkedHashSet<String> lhs = new LinkedHashSet<>();
lhs.add("hello");
lhs.add("world");
lhs.add("java");
System.out.println("LinkedHashSet--"+lhs);
}
}
结果:
HashSet--[world, java, hello]
----------------------------
LinkedHashSet--[hello, world, java]