LinkHashSet
特点:使用了一个链表维护了添加进集合的元素的顺序,导致当我们遍历LinkedHashSet集合元素时,是按照添加进去的顺序遍历的。即使输出变的有序了,但是其实底层存储还是无序的。
Set s = new LinkedHashSet();
s.add(123);
s.add(456);
s.add("AA");
s.add("BB");
System.out.println(set);
[123, 456, AA, BB] 输出顺序和输入时的一样了
底层是这样:

特点:使用了一个链表维护了添加进集合的元素的顺序,导致当我们遍历LinkedHashSet集合元素时,是按照添加进去的顺序遍历的。即使输出变的有序了,但是其实底层存储还是无序的。
Set s = new LinkedHashSet();
s.add(123);
s.add(456);
s.add("AA");
s.add("BB");
System.out.println(set);
[123, 456, AA, BB] 输出顺序和输入时的一样了
底层是这样: