Rar*_*rge 4 java stack vector data-structures
目前我知道的唯一堆栈是 Vector,我通常使用它代替数组,但我知道还有其他类型的堆栈,它们都适合不同的工作。
我目前正在处理的项目要求我在堆栈内的某个位置插入对象,而不总是在堆栈的前面,我的印象是 Vector 可能不是这项工作的最佳类。
有人可以简要介绍一下我可以使用 Java 语言使用的其他类型的堆栈及其优缺点吗?这些名字是同质的吗?例如,它们是仅用于 Java 语言还是用作计算机科学中的通用术语?
谢谢
java.util.List 是表示为 Java 接口的列表类型java.util.Deque 是一个 Java 接口,提供 LIFO 和 FIFO 队列行为(因此堆栈行为作为子集)java.util.Vector 是不应再使用的列表(基于自动调整大小的数组)的过时实现java.util.ArrayList 是它的现代化替代品java.util.Stack 是堆栈的过时实现,它包括向 Vector 添加一些类似堆栈的方法,这不是一个好方法。java.util.ArrayDeque 是 Deque 接口的现代实现java.util.LinkedList 是一个列表的不同实现(也实现了 Deque 接口),它有许多很大的缺点,应该只在非常特定的情况下使用(当你需要经常在列表中插入或删除元素时更好)。基本上,如果你想要一个堆栈,使用Deque接口和ArrayDeque作为实现类(除非在少数情况下LinkedList更好)。如果你想要一个列表,请使用ArrayList
| 归档时间: |
|
| 查看次数: |
6858 次 |
| 最近记录: |