ArrayDeque的使用

阅读: 评论:0

ArrayDeque的使用

ArrayDeque的使用

尽量用ArrayDeque模拟栈和队列

循环数组实现的双端队列,进而模拟栈和队列!

ArrayDeque底层是循环数组,JDK官方明确用ArrayDeque替换Stack,但是为什么Stack还常见呢?(尤其在LC刷题的时候,可以看到很多的小伙伴在用Stack)可能一个原因是Stack这个词语比较友好,能让大家在想到栈的时候直接用

但是Stack的缺点却很多:

  • 性能低

    继承Vector类,其所有方法被synchronized修饰,因此虽然线程安全但是效率很差;(刷题若追求效率建议换)

  • 破坏了栈这种数据结构

    也正是由于继承了Vector类,因此对于用Stack定义的对象可以调用的方法不仅仅局限于push/peek/pop,还可以调用父类的get()(按照索引获取栈中的元素)等方法,这样就容易破坏栈的这种数据结构,这是我们不希望看到的

但是为了兼顾一些老项目,因此我们也不能够完全放弃使用Stack,这也就是JDK官网没有将Stack加@Deprecated注解的原因

本文发布于:2024-02-02 04:55:35,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170682094141491.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:ArrayDeque
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23