栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么要在堆栈上使用Deque?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么要在堆栈上使用Deque?

一方面,在继承方面更明智。在我看来,

Stack
扩展的事实
Vector
真的很奇怪。在Java的早期,继承被IMO过度使用-这
Properties
是另一个例子。

对我而言,您引用的文档中的关键词是 一致的

Deque
公开了一组操作,这些操作都与从集合的开头或结尾获取,添加/删除项,进行迭代等有关-仅此而已。故意没有办法按位置访问元素,这 是因为
它是的子类而
Stack
暴露出来。 __
Vector


哦,而且也

Stack
没有接口,因此,如果您知道需要
Stack
操作,您最终将提交到特定的具体类,这通常不是一个好主意。

也如注释中指出的那样,

Stack
Deque
具有反向迭代顺序:

Stack<Integer> stack = new Stack<>();stack.push(1);stack.push(2);stack.push(3);System.out.println(new ArrayList<>(stack)); // prints 1, 2, 3Deque<Integer> deque = new ArrayDeque<>();deque.push(1);deque.push(2);deque.push(3);System.out.println(new ArrayList<>(deque)); // prints 3, 2, 1

JavaDocs for
Deque.iterator()也对此进行了说明:

以适当的顺序返回此双端队列中的元素的迭代器。元素将按照从头(头)到后(尾)的顺序返回。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号