为什么Stack要在JDK中扩展Vector?

Stack 不是一个 Vector 那么为什么Stack类在JDK中是扩展(是一种关系)Vector类,Stack应该与 push() &amp.的操作,但因为它扩展了Vector,所以我能够进行 pop() 操作,但由于它扩展了Vector,我能够进行 add()remove() 在堆栈上进行操作。

我认为Stack类应该使用Vector类作为组成,而不是扩展Vector类。

解决方案:

过时的类

两者 StackVector 被包含在Java的第一个版本中。由于当时互联网的狂热,Java被提前推向市场。

最早的Java版本中捆绑的一些类,如日期-时间类,并没有经过深思熟虑。它们并没有像后来的库,如一些通过互联网开发的库那样,接受同行的审查和公众的监督。Java社区流程 并通过开源项目和行业联盟项目。

Java集合框架

Java集合框架 取代了这两类。同样, java.time 框架取代了旧的日期-时间类,如 java.util.Date.Calendar. 旧的类在Java中仍然保留,以便向后兼容现有的应用程序,但不应在新代码中使用。

在新的代码中不应该使用。Stack 类的文档告诉了你这一点,明确指出你应该使用 Deque 介面。

diagram of classes in the Java Collections Framework

图为Ramlmn所绘。维基百科. 经我修改后表示: Vector &amp。Stack 被淘汰。

给TA打赏
共{{data.count}}人
人已打赏
解决方案

如何在tap中查看json的值?

2022-4-22 14:08:51

解决方案

当使用form-control类时,下拉的方式正在改变 - Angular

2022-4-22 14:08:53

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索