HashSet TreeSet LinkedHashSet

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011517841/article/details/82381389

HashSet TreeSet LinkedHashSet

1. 继承关系

1) HashSet

2) LinkedHashSet

3) TreeSet

2. 顺序

HashSet无序。LinkedHashSet按照插入的先后顺序, TreeSet 按照自然排序或者指定的排除方式排序(默认自然排序)

3. HashSet TreeSet LinkedHashSet都是线程不安全的。如果想保证线程安全, 使用Collecions.synchronizedSet(new HashSet())

4. 效率

HashSet的性能总是比TreeSet好(特别是比较常用的添加、查询元素等操作),因为TreeSet需要额外的红黑树算法来维护集合元素的次序 LinkedHashSet 按照插入的先后顺序排序, LinkedHashSet,对于普通插入、删除操作,LinkedHashSet比HashSet要略微慢一点;这是由维护链表所带来的额外开销所赵成的,不过,因为有了链表,遍历LinkedHashSet会更快

猜你喜欢

转载自blog.csdn.net/u011517841/article/details/82381389