浅析HashSet和TreeSet的区别及底层实现

2019-05-09  本文已影响0人  柒浅丶Belief

HashSet:存储无序,无索引,元素不可重复,可存储null,底层实现为创建一个HashMap,取HashMap的键作为数据存储

需要重写hashcode和equals方法来保证值的唯一性,添加,删除和 HashSet 包括的方法的持续 时间复杂度是 O(1) 。

TreeSet:存储为自然排序,无索引,元素不可重复,不可存储null,底层是创建一个继承自SortedMap的NacigableMap,引用指向TreeMap;

TreeSet的底层实现

依赖Comparable和Comparetor方法实现规则进行自然排序,添加,删除和 TreeSet 包含的方法的持续时间复杂度 是 O(logn) 。

上一篇下一篇

猜你喜欢

热点阅读