List有序,Set无序,真的是这样嘛?( 二 )
这里有两个概念 , 一个是存取元素的顺序 , 比如我存的时候是3 4 5 1 2 , 那么取出来也应该是3 4 5 1 2 或者 2 1 5 4 3 。 另一个是元素在容器中大小顺序 , 更准确说是排序 。 如果说区分了这两个概念 , 就好说了 , 看上面的体系图 , List家族有两名大将 , 分别是ArrayList和LinkedList 。 而Set家族里主要有HashSet和TreeSet两名大将 。
如果要按照存和取的顺序来讲 , ArrayList和LinkedList就属于有序集合 , 因为ArrayList底层是动态数组实现的 , 而数组是一块连续的空间 , 每次存的时候都是找到索引 , 一个接着一个的存储 , 取的时候也要按照索引遍历出来 。
链表也是一样 , 不是存到链表头就是存到链表尾 。 因为存和取的顺序有序 , 模拟栈(先进后出)和队列(先进先出)这两种数据结构也很容易 。 但这两种结构它们本身并不能对元素进行排序 , 这也决定了我不能轻易的找到数组或链表中的最大值和最小值 , 或者说元素和元素之间存储的并没有什么规律 。
推荐阅读
- fnc战队|LOL:FNC下路被换真相,想让欧城回来结果Upset不同意,可悲啊
- fnc战队|突发,FNC下路选手upset需要紧急回家,将缺阵对战HLE的首战。
- 勇者斗恶龙12|Dota2:IG被嘲打假赛?Setsu提出灵魂发问,kaka:乌鸡鲅鱼!
- “防控新冠”与“有序复工”的平衡,用友启动SaaS加速器计划
- 几米智慧人员监护解决方案助力企业安全有序复工复产
- 只二app:精细化服务,让闲置好物有序流转
- 海南这个村子不得了! 栋栋别墅坐落有序, 羡煞城里人!
- 面试时这么解释LinkedList,能保证你不会被立马KO
- 万物皆可打印,有序生活从拥有一台海鸟打印机开始,专职妈妈必备
- 繁杂工作也能有序处理!我靠得是科大讯飞