\t
Deque 还提供有 push() 和 pop() 等其他方法 , 可用于模拟栈 。29.说说ArrayDeque 与 LinkedList 的区别?
ArrayDeque 和 LinkedList 都实现了 Deque 接口 , 两者都具有队列的功能 , 也都可以实现栈 。 连着区别:- ArrayDeque 是基于 可变长的数组和双指针 来实现 , 而 LinkedList 则通过 链表 来实现 。
- ArrayDeque 不支持存储
NULL数据 , 但 LinkedList 支持 。
- ArrayDeque 是在
JDK1.6才被引入的 , 而LinkedList 早在JDK1.2时就已经存在 。
- ArrayDeque 插入时可能存在扩容过程 不过均摊后的插入操作依然为 O(1) 。 虽然 LinkedList 不需要扩容 , 但是每次插入数据时均需要申请新的堆空间 , 均摊性能相比更慢 。
ArrayDeque 来实现队列要比 LinkedList 更好 。30.说一下 HashSet、LinkedHashSet 和 TreeSet 三者的异同?
HashSet 、 LinkedHashSet 和 TreeSet 都是 Set 接口的实现类 ,都能保证元素唯一 , 并且都不是线程安全的 。 他们的不同点:- HashSet、LinkedHashSet 和 TreeSet 的主要区别在于底层数据结构不同:
HashSet的底层数据结构是 哈希表 (基于HashMap实现)
LinkedHashSet的底层数据结构是 链表和哈希表 , 元素的插入和取出顺序满足 FIFO
TreeSet底层数据结构是 红黑树 , 元素是有序的 , 排序的方式有自然排序和定制排序
- 底层数据结构不同又导致这三者的应用场景不同:
HashSet
LinkedHashSet
TreeSet
我也为大家整理了一套2022Java面试题 , 需要的小伙伴们可以私信【面试】领取
- meta|促进更逼真AR/VR体验,Meta正在开发全新空间音频工具
- 创业|八成互联网电视非法采集用户数据, 彩电企业怎么办?
- 肺炎患者|为何新冠患者已退烧,还需进行集中治疗
- 无人驾驶|189元Ticwatch GTK智能手表上手评测:颜值、运动、电量集一身,香
- 189元Ticwatch GTK智能手表上手评测:颜值、运动、电量集一身,香
- 微信|微信官宣:新增2大重要新功能,1个好评如潮,1个遭网友集体吐槽
- Java|干翻小米,红米又出超大杯旗舰,120W+2K直屏+双旗舰芯
- 百度地图|Java程序员应知应会之Maven和Gradle的区别
- javascript|穿戴设备将迎变革,OPPO又增新专利,能提升模式切换效率!
- Java|Gamamobi CEO黄继德:我们的元宇宙游戏不担心体验落差
