LinkedHashSet 使用链表维护了一个添加进集合中的顺序,导致遍历时是以添加的顺序输出的(但不能说是“有序的”),如下:
public class TestSet3 {
public static void main(String[] args) {
Set set = new LinkedHashSet();
set.add("a");
set.add(12);
set.add(new Person1("cdf"));
set.add(345);
System.out.println(set);// [a, 12, Person1 [name=cdf], 345]
}
}
关于其还是无序的说法,参见下图:
LinkedHashSet 继承于 HashSet
由于链表的存在,LinkedHashSet 的插入性能略逊于 HashSet,但迭代访问时性能优秀,适合于频繁的遍历与较少的增删操作(特点类似 Map 的其他实现类:LinkedHashMap 但是要注意跟“LinkedList 与 ArrayList 的区别”区别)
时间: 2024-10-19 07:08:27