Implementation of Bag
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.
|
|
Bag Implementation
|
Abstract
Container
|
Abstract
Bag
|
Hash
Bag
|
|
|
constructor ()
|
O(1)
|
O(1)
|
O(1)
|
|
|
constructor (int
capacity)
|
|
|
O(1)
|
|
|
constructor
(Collection col, int capacity)
|
|
|
O(n)
|
|
|
constructor
(Iterator iter, int
capacity)
|
|
|
O(n)
|
|
|
|
|
|
|
| int
|
add (Object item)
|
|
|
O(1)
|
| void
|
clear ()
|
O(1)
|
|
O(1)
|
| Object
|
clone ()
|
|
|
O(n)
|
| Collection
|
collectionView ()
|
based on iterator
|
|
|
| boolean
|
contains (Object item)
|
|
|
O(1)
|
| boolean
|
equals (Object other)
|
|
traverse iterator
O(n2)
|
|
| int
|
getCount (Object item)
|
|
abstract
|
O(1)
|
| int
|
hashCode ()
|
traverse iterator
|
|
|
| boolean
|
isEmpty
|
uses size method
|
|
|
| Iterator
|
iterator ()
|
abstract
|
|
O(1)
|
| int
|
remove (Object item)
|
|
|
O(1)
|
| int
|
size ()
|
O(1)
|
|
|
| Object []
|
toArray ()
|
traverse iterator
|
|
|
| String
|
toString ()
|
traverse iterator
|
|
|