net.cscott.sinjdoc.parser

Class UniqueVector<E>

public class UniqueVector<E> extends AbstractList<E> implements Set<E>, Cloneable

A unique vector refuses to addElement duplicates.

Conforms to the JDK 1.2 Collections API.

Version: $Id: UniqueVector.java,v 1.2 2003/07/31 23:05:26 cananian Exp $

Author: C. Scott Ananian

See Also: java.util.Vector java.util.Hashtable

Constructor Summary
UniqueVector()
Constructs an empty UniqueVector.
UniqueVector(int initialCapacity)
Constructs an empty UniqueVector with the specified initial capacity.
UniqueVector(Collection<? extends E> c)
Constructs a vector containing the elements of the specified Collection, in the order they are returned by the collection's iterator.
Method Summary
voidadd(int index, E element)
Inserts the specified element at the specified position in this list.
booleanadd(E obj)
Adds the specified component to the end of this vector, increasing its size by one, if it doesn't already exist in the vector.
voidaddElement(E obj)
Adds the specified component to the end of this vector, increasing its size by one, if it doesn't already exist in the vector.
intcapacity()
Returns the current capacity of this vector.
voidclear()
Removes all of the elements from this collection.
UniqueVector<E>clone()
Returns a clone of this vector.
booleancontains(Object elem)
Tests if the specified object is a component in this vector.
voidcopyInto(Object[] anArray)
Copies the components of this vector into the specified array.
EelementAt(int index)
Returns the component at the specified index.
voidensureCapacity(int minCapacity)
Increases the capacity of this vector, if necessary, to ensure that it can hold at least the number of components specified by the minimum capacity argument.
EfirstElement()
Returns the first component of this vector.
Eget(int index)
Returns the element at the specified posision in this vector.
intindexOf(Object elem)
Returns the first (and only) occurrence of the given argument, testing for equality using the equals method.
intindexOf(Object elem, int index)
Returns the first occurrence of the given argument, beginning the search at index, and testing for equality using the equals method.
voidinsertElementAt(E obj, int index)
Inserts the specified object as a component in this vector at the specified index.
booleanisEmpty()
Tests if this vector has no components.
ElastElement()
Returns the last component of the vector.
intlastIndexOf(Object elem)
Returns the index of the last (and only) occurrence of the specified object in this vector.
intlastIndexOf(Object elem, int index)
Searches backwards for the specified object, starting from the specified index, and returns an index to it.
Eremove(int index)
Removes the element at the specified position in this vector.
voidremoveAllElements()
Removes all components from this vector and sets its size to zero.
booleanremoveElement(Object obj)
Removes the first (and only) occurance of the argument from this vector.
voidremoveElementAt(int index)
Deletes the component at the specified index.
Eset(int index, E obj)
Replaces the element at the specified position in this vector with the specified element.
voidsetElementAt(E obj, int index)
Sets the component at the specified index of this vector to be the specified object.
intsize()
Returns the number of components in this vector.
Object[]toArray()
<T> T[]toArray(T[] a)
StringtoString()
Returns a string representation of this vector.
voidtrimToSize()
Trims the capacity of this vector to be the vector's current size.

Constructor Detail

UniqueVector

public UniqueVector()
Constructs an empty UniqueVector.

UniqueVector

public UniqueVector(int initialCapacity)
Constructs an empty UniqueVector with the specified initial capacity.

UniqueVector

public UniqueVector(Collection<? extends E> c)
Constructs a vector containing the elements of the specified Collection, in the order they are returned by the collection's iterator. Duplicate elements are skipped.

Method Detail

add

public void add(int index, E element)
Inserts the specified element at the specified position in this list. To maintain uniqueness, any previous instance of this element in the vector is removed prior to insertion.

Parameters: obj the element to be inserted.

add

public boolean add(E obj)
Adds the specified component to the end of this vector, increasing its size by one, if it doesn't already exist in the vector. Duplicate elements are thrown away. The capacity of the vector is increased if necessary.

Parameters: obj the component to be added.

addElement

public void addElement(E obj)
Adds the specified component to the end of this vector, increasing its size by one, if it doesn't already exist in the vector. Duplicate elements are thrown away. The capacity of the vector is increased if necessary.

Parameters: obj the component to be added.

capacity

public int capacity()
Returns the current capacity of this vector.

Throws: UnsupportedOperationException not supported.

clear

public void clear()
Removes all of the elements from this collection.

clone

public UniqueVector<E> clone()
Returns a clone of this vector.

Returns: a clone of this vector.

Throws: CloneNotSupportedException if the UniqueVector cannot be cloned.

contains

public boolean contains(Object elem)
Tests if the specified object is a component in this vector.

Parameters: elem an object

Returns: true if the specified object is a component in this vector; false otherwise.

copyInto

public void copyInto(Object[] anArray)
Copies the components of this vector into the specified array. The array must be big enough to hold all the objects in this vector.

Parameters: anArray the array into which the components get copied.

elementAt

public E elementAt(int index)
Returns the component at the specified index.

Parameters: index an index into this vector.

Returns: the component at the specified index.

Throws: ArrayIndexOutOfBoundsException if an invalid index was given.

ensureCapacity

public void ensureCapacity(int minCapacity)
Increases the capacity of this vector, if necessary, to ensure that it can hold at least the number of components specified by the minimum capacity argument.

Parameters: minCapacity the desired minimum capacity.

firstElement

public E firstElement()
Returns the first component of this vector.

Returns: the first component of this vector.

Throws: java.util.NoSuchElementException if this vector has no components.

get

public E get(int index)
Returns the element at the specified posision in this vector.

indexOf

public int indexOf(Object elem)
Returns the first (and only) occurrence of the given argument, testing for equality using the equals method.

Parameters: elem an object

Returns: the index of the first occurrence of the argument in this vector; returns -1 if the object is not found.

indexOf

public int indexOf(Object elem, int index)
Returns the first occurrence of the given argument, beginning the search at index, and testing for equality using the equals method.

Parameters: elem an object. index the index to start searching from.

Returns: the index of the first occurrence of the object argument in this vector at position index or later in the vector; returns -1 if the object is not found.

insertElementAt

public void insertElementAt(E obj, int index)
Inserts the specified object as a component in this vector at the specified index. Each component in this vector with an index greater or equal to the specified index is shifted upward to have an index one greater than the value it had previously.

The index must be a value greater than or equal to 0 and less than or equal to the current size of the vector.

To maintain uniqueness, removed any previous instance of the component in the vector before insertion.

Parameters: obj the component to insert. index where to insert the new component.

Throws: ArrayIndexOutOfBoundsException if the index was invalid.

isEmpty

public boolean isEmpty()
Tests if this vector has no components.

Returns: true if this vector has no components; false otherwise.

lastElement

public E lastElement()
Returns the last component of the vector.

Returns: the last component of the vector, i.e., the component at index size()-1.

Throws: java.util.NoSuchElementException if this vector is empty.

lastIndexOf

public int lastIndexOf(Object elem)
Returns the index of the last (and only) occurrence of the specified object in this vector.

Parameters: elem the desired component.

Returns: the index of the last occurrence of the specified object in this vector; returns -1 if the object is not found.

lastIndexOf

public int lastIndexOf(Object elem, int index)
Searches backwards for the specified object, starting from the specified index, and returns an index to it.

Parameters: elem the desired component. index the index to start searching from.

Returns: the index of the last occurrence of the specified object in this vector at position less than index in the vector; -1 if the object is not found.

remove

public E remove(int index)
Removes the element at the specified position in this vector.

removeAllElements

public void removeAllElements()
Removes all components from this vector and sets its size to zero.

removeElement

public final boolean removeElement(Object obj)
Removes the first (and only) occurance of the argument from this vector. If the object is found in this vector, each component in the vector with an index greater or equal to the object's index is shifted downward to have an index one smaller than the value it had previously.

Parameters: obj the component to be removed.

Returns: true if the argument was a component of this vector; false otherwise.

removeElementAt

public void removeElementAt(int index)
Deletes the component at the specified index. Each component in this vector with an index greater than or equal to the specified index is shifted downward to have an index one smaller than the value it had previously.

The index must be a value greater than or equal to 0 and less than the current size of the vector.

Parameters: index the index of the object to remove.

Throws: ArrayIndexOutOfBoundsException if the index was invalid.

set

public E set(int index, E obj)
Replaces the element at the specified position in this vector with the specified element.

setElementAt

public void setElementAt(E obj, int index)
Sets the component at the specified index of this vector to be the specified object. The previous component at that position is discarded.

The index must be a value greater than or equal to 0 and less than the current size of the vector.

Nothing is done if the component at index is equal to obj. To maintain uniqueness, any component equal to obj is removed before the setElementAt() is done.

Parameters: obj what the component is to be set to. index the specified index.

Throws: ArrayIndexOutOfBoundsException if the index was invalid.

size

public int size()
Returns the number of components in this vector.

Returns: the number of components in this vector.

toArray

public Object[] toArray()

toArray

public <T> T[] toArray(T[] a)

toString

public String toString()
Returns a string representation of this vector.

Returns: a string representation of this vector.

trimToSize

public void trimToSize()
Trims the capacity of this vector to be the vector's current size. An application can use this operation to minimize the storage of a vector.
Copyright © 2003 C. Scott Ananian