structure5
Class OrderedVector<E extends java.lang.Comparable<E>>

java.lang.Object
  extended by structure5.AbstractStructure<E>
      extended by structure5.OrderedVector<E>
All Implemented Interfaces:
java.lang.Iterable<E>, OrderedStructure<E>, Structure<E>

public class OrderedVector<E extends java.lang.Comparable<E>>
extends AbstractStructure<E>
implements OrderedStructure<E>

Implementation of an ordered structure implemented using a vector. Values are stored within this vector in increasing order. All values stored within an ordered vector must implement comparable.

Example Usage:

To determine the effect of the original Starwars™ movie on the careers of its stars, we could place ComparableAssociations between each star's name and the number of movies they have been in since Starwars™ into an ordered vector and print our the results.

 public static void main(String[] argv){
      //instantiate an ordered vector
      OrderedVector> v = new #OrderedVector>();
      
      //add the cast members of the original star wars along with
      //the number of films in which the have subsequently appeared
      v.add(new ComparableAssociation(new Integer(12),"Sir Alec Guiness"));
      v.add(new ComparableAssociation(new Integer(24),"Carrie Fisher"));
      v.add(new ComparableAssociation(new Integer(28),"Harrison Ford")); 
      v.add(new ComparableAssociation(new Integer(28),"Mark Hamill"));

      //print out the results
      for(Iterator> i = v.iterator(); i.hasNext();){
          ComparableAssociation> actor = i.next();
          System.out.println(actor.getValue() + " has been in " + 
                             actor.getKey() + " movies since Star Wars"); 
      }
   }
 

See Also:
structure.Vector

Field Summary
protected  Vector<E> data
          The vector of values.
 
Constructor Summary
OrderedVector()
          Construct an empty ordered vector
 
Method Summary
 void add(E value)
          Add a comparable value to an ordered vector
 void clear()
          Removes all the values from a an ordered vector
 boolean contains(E value)
          Determine if a comparable value is a member of the ordered vector
 boolean isEmpty()
          Determine if the ordered vector is empty.
 java.util.Iterator<E> iterator()
          Construct an iterator to traverse the ordered vector in ascending order
protected  int locate(E target)
           
 E remove(E value)
          Remove a comparable value from an ordered vector At most one value is removed
 int size()
          Determine the number of elements within the ordered vector
 java.lang.String toString()
          Construct a string representation of an ordered vector
 
Methods inherited from class structure5.AbstractStructure
elements, hashCode, values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface structure5.Structure
elements, values
 

Field Detail

data

protected Vector<E extends java.lang.Comparable<E>> data
The vector of values. Values are stored in increasing order

Constructor Detail

OrderedVector

public OrderedVector()
Construct an empty ordered vector

Postcondition:
constructs an empty, ordered vector
Method Detail

add

public void add(E value)
Add a comparable value to an ordered vector

Specified by:
add in interface Structure<E extends java.lang.Comparable<E>>
Parameters:
value - The comparable value to be added to the ordered vector
Precondition:
value is non-null
Postcondition:
inserts value, leaves vector in order

contains

public boolean contains(E value)
Determine if a comparable value is a member of the ordered vector

Specified by:
contains in interface Structure<E extends java.lang.Comparable<E>>
Overrides:
contains in class AbstractStructure<E extends java.lang.Comparable<E>>
Parameters:
value - The comparable value sought
Returns:
True if the value is found within the ordered vector
Precondition:
value is non-null
Postcondition:
returns true if the value is in the vector

remove

public E remove(E value)
Remove a comparable value from an ordered vector At most one value is removed

Specified by:
remove in interface Structure<E extends java.lang.Comparable<E>>
Parameters:
value - The comparable value to be removed
Returns:
The actual comparable removed
Precondition:
value is non-null
Postcondition:
removes one instance of value, if found in vector

isEmpty

public boolean isEmpty()
Determine if the ordered vector is empty.

Specified by:
isEmpty in interface Structure<E extends java.lang.Comparable<E>>
Overrides:
isEmpty in class AbstractStructure<E extends java.lang.Comparable<E>>
Returns:
True iff the ordered vector is empty
Postcondition:
returns true if the OrderedVector is empty

clear

public void clear()
Removes all the values from a an ordered vector

Specified by:
clear in interface Structure<E extends java.lang.Comparable<E>>
Postcondition:
vector is emptied

size

public int size()
Determine the number of elements within the ordered vector

Specified by:
size in interface Structure<E extends java.lang.Comparable<E>>
Returns:
The number of elements within the ordered vector
Postcondition:
returns the number of elements in vector

iterator

public java.util.Iterator<E> iterator()
Construct an iterator to traverse the ordered vector in ascending order

Specified by:
iterator in interface java.lang.Iterable<E extends java.lang.Comparable<E>>
Specified by:
iterator in interface Structure<E extends java.lang.Comparable<E>>
Returns:
An iterator to traverse the ordered vector
See Also:
AbstractIterator, Iterator, Enumeration, Structure.elements()
Postcondition:
returns an iterator for traversing vector

locate

protected int locate(E target)

toString

public java.lang.String toString()
Construct a string representation of an ordered vector

Overrides:
toString in class java.lang.Object
Returns:
The string representing the ordered vector
Precondition:
returns string representation of ordered vector