所以我有一个可以在堆栈或队列中的列表。两者之间有性能差异吗?
我还注意到 java.utils 实现扩展了 Vector。自己实现会更快,还是直接使用 Vector?
所以我有一个可以在堆栈或队列中的列表。两者之间有性能差异吗?
我还注意到 java.utils 实现扩展了 Vector。自己实现会更快,还是直接使用 Vector?
java.util.Stack 类已弃用。改用双端队列。
就性能而言,这取决于实施,
Stack 和 Vector 都是同步的。将 java.util.ArrayDeque 同时用作 Stack 和 Queue,请参阅 API:
这个类在作为栈使用时可能比 Stack 快,作为队列使用时比 LinkedList 快。
这取决于使用模式和具体实现。
一般来说:
PS我不建议使用任何扩展或利用的旧实现 java.util.Vector
。现在有许多更好的实现可用,具体取决于您的确切用例。
性能取决于您要使用的数据结构(arraylist、linkedlist 等)以及您将执行的所有操作。
因此,根据这一点,您可以决定您的数据结构。建议您通过 Java API 了解不同 API 的优缺点。