Java堆栈类中的empty()与isEmpty()

Java堆栈类中的empty()与isEmpty(),java,Java,为什么Java中的Stack有一个empty()方法和通常的isEmpty()?所有Stack扩展的抽象类都有一个isEmpty()方法。我相信OP的问题更多的是:既然empty()和isEmpty()都在做同样的事情,为什么会有重复的方法 如果您仔细看一下,在向量、堆栈和哈希表中,有更多的方法使用不同的名称执行类似操作的示例 以下是简史: 在JDK1.0时代,Java中没有“集合”框架堆栈,向量,哈希表是Java提供的一些基本数据结构 后来在JDK1.2中,集合框架被添加到JDK中,并引入了标

为什么Java中的
Stack
有一个
empty()
方法和通常的
isEmpty()
?所有
Stack
扩展的抽象类都有一个
isEmpty()
方法。

我相信OP的问题更多的是:既然
empty()
isEmpty()
都在做同样的事情,为什么会有重复的方法

如果您仔细看一下,在
向量
堆栈
哈希表
中,有更多的方法使用不同的名称执行类似操作的示例

以下是简史:

在JDK1.0时代,Java中没有“集合”框架<代码>堆栈,
向量
哈希表
是Java提供的一些基本数据结构

后来在JDK1.2中,集合框架被添加到JDK中,并引入了标准接口(如
List
Map

然而,在这些新的标准集合接口中,方法是以不同的约定命名的。命名约定的变化很可能受到JDK1.2中引入的JavaBean标准的影响。这些方法名称与旧的
堆栈
向量
哈希表
类中的方法名称不同。例如,它在原始类中被命名为
empty()
,但在
Collection
接口中被命名为
isEmpty()

为了使
Stack
Vector
HashTable
与采集框架兼容,
Stack
Vector
HashTable
实现了相应的采集接口。同时,为了向后兼容,保留了旧方法


因此,您现在看到的是“复制”方法。

两个返回布尔值唯一的区别是isEmpty同步指向向量,而empty不同步指向堆栈。

文档说明了什么?什么是
empty()
的返回类型?两者都有返回类型boolean基本上是
isEmpty()
方法是在
集合
类(JDK1.2)中引入的,该类位于
堆栈
类(JDK1.0)之后