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

时间:2016-05-19 05:05:58

标签: java oop

Stack不是Vector那么为什么Stack类正在扩展(是一种关系)JDK中的Vector类,Stack假设使用push()& pop()操作,但因为它扩展了Vector,我可以在堆栈上执行add()remove()操作。

我认为宁可扩展Vector类,Stack类应该使用Vector类作为组合。

1 个答案:

答案 0 :(得分:4)

过时的课程

Java的第一个版本中包含StackVector。由于当时的互联网狂潮,Java被赶到了市场之前。

与最早版本的Java捆绑在一起的某些类(例如日期时间类)没有经过深思熟虑。他们没有受到同行评审和公众监督,后来的图书馆也是如此,例如通过JAva Community Process以及通过开源项目和行业联盟项目制作的图书馆。

Java Collections框架

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

Stack类文档告诉您这一点,明确表示您应该使用Deque接口的实现。