Stack和LinkedList作为栈使用时的差异

LinkedList类  

LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>

void push(E e) -----压栈,不返回栈顶元素

E pop() ----弹栈,移除栈顶元素并返回

作为栈用的时候不支持peek()

没有实现RandomAccess类,基于链表实现,无法随机访问,查询效率相对低,增删改效率相对高

Stack类 

Stack<E> extends Vector<E>
Vector<E> extends AbstractList<E> implements List<E>, RandomAccess

E push(E item)        栈顶压栈

synchronized E pop()  弹出栈顶元素并返回

synchronized E peek() 仅返回栈顶元素

实现了RandomAccess类,基于数组实现,随机访问(查询)效率高,增删改效率相对低

继承自Vector,Vector就是以前的ArrayList的实现,大多数方法都是同步方法,这个类已经过时,基于动态数组实现

 

 

posted @ 2022-09-16 16:30  鼠标的博客  阅读(96)  评论(0编辑  收藏  举报