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

 

 

 

martin@cc.wwu.edu
Disclaimer

Copyright Martin Osborne 1998-2001
  All rights reserved