gpt4 book ai didi

java - java.util 包中的 Stack 类

转载 作者:行者123 更新时间:2023-11-29 07:25:36 25 4
gpt4 key购买 nike

为什么java.util包中的stack类是用数组实现的?为什么不使用链表数据结构?

package java.util;

public class Stack<E> extends Vector<E>
{
private static final long serialVersionUID = 1224463164541339165L;

protected Object[] elementData; // in Vector Class

public E push(E paramE)
{
addElement(paramE);
return paramE;
}

public synchronized void addElement(E paramE)
{
modCount += 1;
ensureCapacityHelper(elementCount + 1);
elementData[(elementCount++)] = paramE;
}

最佳答案

  1. Stack在 JDK1 中添加,LinkedList JDK2加入,实现Stack时LinkedList不存在,

  2. Stack 是非常古老的类,现在最好使用 ArrayDeque 而不是,

  3. LinkedList 几乎在所有情况下都比 ArrayList 差(按性能),参见 Oracle guidethis answer in SO

关于java - java.util 包中的 Stack 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53709787/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com