Implementation of Stack
The table below indicates where methods are implemented and the time
complexity of these methods. Some methods are
implemented in more than one place. When this
happens, each entry overrides the entries to its left. When an entry says "based on
iterator" or "traverse iterator" or "uses size," then the time
complexity depends on the iterator or size method.
|
|
Stack Implementation
|
Abstract
Container
|
Abstract
Stack
|
Linked
Stack
|
|
|
constructor ()
|
O(1)
|
O(1)
|
O(1)
|
|
|
constructor (Collection
col)
|
|
|
O(n)
|
|
|
constructor (Iterator
iter)
|
|
|
O(n)
|
|
|
|
|
|
|
| void
|
clear ()
|
O(1)
|
|
O(1)
|
| Object
|
clone ()
|
|
|
O(n)
|
| Collection
|
collectionView ()
|
based on iterator
|
|
|
| boolean
|
equals (Object other)
|
|
traverse iterator
|
|
| int
|
hashCode ()
|
traverse iterator
|
|
|
| boolean
|
isEmpty
|
uses size method
|
|
|
| Iterator
|
iterator ()
|
abstract
|
|
O(1)
|
| Object
|
peek ()
|
|
|
O(1)
|
| Object
|
pop ()
|
|
|
O(1)
|
| void
|
push (Object item)
|
|
|
O(1)
|
| int
|
size ()
|
O(1)
|
|
|
| Object []
|
toArray ()
|
traverse iterator
|
|
|
| String
|
toString ()
|
traverse iterator
|
|
|