在 Java API 中,
Vector 是 AbstractList 的子类,Stack 是 Java API 中 Vector 的子类。 Java 集合框架是在 Java 2 中引入的。早期支持多种数据结构,其中包括 Vector 和 Stack 类。这些类经过重新设计以适应 Java 集合框架,但保留了它们所有旧式方法
兼容性。
Vector 与 ArrayList 相同,只是它包含用于访问和修改向量的同步方法。当两个或多个线程同时访问和修改向量时,同步方法可以防止数据损坏。对于许多不需要同步的应用程序,使用 ArrayList 比使用 Vector.
更高效Vector 类扩展了 AbstractList 类。它还具有 Java 2 之前定义的原始 Vector 类中包含的方法,如下图所示。
上图 UML 图中列出的 Vector 类中的大部分方法与 List 接口中的方法类似。这些方法是在 Java 集合框架之前引入的。例如,addElement(Object element) 与 add(Object element) 方法相同,只不过 addElement 方法是同步的。如果不需要同步,请使用 ArrayList 类。它的工作速度比 Vector 快得多。
elements()方法返回一个枚举。 Enumeration 接口在 Java 2 之前引入,并被 Iterator 接口取代。 Vector 广泛用于 Java 遗留代码中,因为它是 Java 2 之前的 Java 可调整大小的数组实现。
在 Java 集合框架中,Stack 是作为 Vector 的扩展实现的,如下图所示。
Stack类是在Java 2之前引入的。上图所示的方法是在Java 2之前使用的。empty()方法与isEmpty相同()。 peek() 方法查看堆栈顶部的元素而不删除它。 pop() 方法从堆栈中删除顶部元素并返回它。 push(Object element) 方法将指定元素添加到堆栈中。 search(Object element) 方法检查指定元素是否在堆栈中。
以上是向量和堆栈类的详细内容。更多信息请关注PHP中文网其他相关文章!