2.LinkedHashSet:使用链表维护了一个添加进集合的顺序,导致我们遍历LinkedHashSet集合元素时,是按照我们添加进去的顺序遍历的(底层存储还是按照哈希算法无序存储的)
3.LinkedHashSet插入性能略低于HashSet(原因是2),但是迭代访问Set里全部元素时,有很好的性能!
@Test
public void testLinkedHashSet() {
Set set = new LinkedHashSet();//使用了多态
set.add(123);
set.add("AA");
set.add("BB");
set.add(456);
set.add(null);
Iterator it = set.iterator();
while (it.hasNext()) {
System.out.print(it.next() + " ");
}
}
以上集合输出结果:123 AA BB 456 null 显然是按照我们的添加的顺序遍历的,这一点是区别于HashSet最重要的一点