当我提到java类hierarchy时,我发现Vector
类是Stack
类的父类。对我来说,这似乎有点奇怪,因为这允许我们违反堆栈的逻辑与继承的操作,例如insertElementAt()
,removeElementAt()
等。这些操作违反了堆栈的规则,最后一次出局。有人可以帮忙吗?
答案 0 :(得分:0)
Stack类表示一个后进先出(LIFO)对象堆栈。它通过五个操作扩展了Vector类,允许将向量视为堆栈。提供了常见的推送和弹出操作,以及查看堆栈顶部项目的方法,测试堆栈是否为空的方法,以及搜索堆栈中的项目并发现其距离的方法从顶部。
首次创建堆栈时,它不包含任何项目。
Deque接口及其实现提供了一组更完整,更一致的LIFO堆栈操作,应该优先使用这个类。