HashSet、LinkedHashSet、TreeSet使用区别

来源:互联网 发布:君何以知燕王句式 编辑:程序博客网 时间:2024/06/16 04:50

HashSet:哈希表是通过使用称为散列法的机制来存储信息的,元素并没有以某种特定顺序来存放;
LinkedHashSet:以元素插入的顺序来维护集合的链接表,允许以插入的顺序在集合中迭代;  
TreeSet:提供一个使用树结构存储Set接口的实现,对象以升序顺序存储,访问和遍历的时间很快。


HashSet不是有序的,底层基于hashMap实现
LinkedHashSet是有序的,LinkedHashSet 通过继承 HashSet,底层使用 LinkedHashMap,迭代的顺序为插入顺序或者访问顺序
TreeSet是一个有序的集合,自然排序或者根据提供的Comparator进行排序。通过TreeMap实现