Stack
不是一个 Vector
那么为什么Stack类在JDK中是扩展(是一种关系)Vector类,Stack应该与 push()
&.的操作,但因为它扩展了Vector,所以我能够进行 pop()
操作,但由于它扩展了Vector,我能够进行 add()
和 remove()
在堆栈上进行操作。
我认为Stack类应该使用Vector类作为组成,而不是扩展Vector类。
解决方案:
过时的类
两者 Stack
和 Vector
被包含在Java的第一个版本中。由于当时互联网的狂热,Java被提前推向市场。
最早的Java版本中捆绑的一些类,如日期-时间类,并没有经过深思熟虑。它们并没有像后来的库,如一些通过互联网开发的库那样,接受同行的审查和公众的监督。Java社区流程 并通过开源项目和行业联盟项目。
Java集合框架
该 Java集合框架 取代了这两类。同样, java.time 框架取代了旧的日期-时间类,如 java.util.Date
.Calendar
. 旧的类在Java中仍然保留,以便向后兼容现有的应用程序,但不应在新代码中使用。
在新的代码中不应该使用。Stack
类的文档告诉了你这一点,明确指出你应该使用 Deque
介面。
图为Ramlmn所绘。维基百科. 经我修改后表示: Vector
&amp。Stack
被淘汰。