List有序,Set无序,真的是这样嘛?( 三 )
同样 , 按照存储顺序来讲 , HashSet依赖哈希存储 , 计算哈希值之后 , 会分散到不同的存储位置上 , 这也就代表存储的时候 , 元素不是一个挨着一个存储的 , 而是根据每个元素的hash值 , 散列到了不同的位置 。 存取的顺序也是不能保证的 , 元素的排序顺序也是不能保证的 , 但好处就是存取效率高 。
而TreeSet依赖的是树存储 , 在树这种结构中 , 无论是二分查找树 , 还是红黑树 , 在存储元素的时候都会对元素本身进行比较 , 按照大小放到合适的位置 , 这也就说明 , 元素会按照树的性质去存储 , 那么也就无法保证存和取元素的顺序 。 但是元素可以在存储的时候根据自身的大小排好序 , 从而可以很轻易的找到最大值 , 最小值 , 以及给定一个元素 , 找到比他大和比他小元素等操作 。
总结:按元素存取顺序来说 , List是有序的 , Set是无序的 。 按照元素和元素之间的关系来说 , List是无序的 , TreeSet是有序的 。 而HashSet怎么说都是无序的 。
推荐阅读
- fnc战队|LOL:FNC下路被换真相,想让欧城回来结果Upset不同意,可悲啊
- fnc战队|突发,FNC下路选手upset需要紧急回家,将缺阵对战HLE的首战。
- 勇者斗恶龙12|Dota2:IG被嘲打假赛?Setsu提出灵魂发问,kaka:乌鸡鲅鱼!
- “防控新冠”与“有序复工”的平衡,用友启动SaaS加速器计划
- 几米智慧人员监护解决方案助力企业安全有序复工复产
- 只二app:精细化服务,让闲置好物有序流转
- 海南这个村子不得了! 栋栋别墅坐落有序, 羡煞城里人!
- 面试时这么解释LinkedList,能保证你不会被立马KO
- 万物皆可打印,有序生活从拥有一台海鸟打印机开始,专职妈妈必备
- 繁杂工作也能有序处理!我靠得是科大讯飞