org.apache.xml.utils

Class ObjectVector

Implemented Interfaces:
Cloneable
Known Direct Subclasses:
ObjectStack

public class ObjectVector
extends java.lang.Object
implements Cloneable

A very simple table that stores a list of objects. This version is based on a "realloc" strategy -- a simle array is used, and when more storage is needed, a larger array is obtained and all existing data is recopied into it. As a result, read/write access to existing nodes is O(1) fast but appending may be O(N**2) slow.

Constructor Summary

ObjectVector()
Default constructor.
ObjectVector(int blocksize)
Construct a IntVector, using the given block size.
ObjectVector(int blocksize, int increaseSize)
Construct a IntVector, using the given block size.
ObjectVector(ObjectVector v)
Copy constructor for ObjectVector

Method Summary

void
addElement(Object value)
Append an object onto the vector.
void
addElements(Object value, int numberOfElements)
Append several Object values onto the vector.
void
addElements(int numberOfElements)
Append several slots onto the vector, but do not set the values.
Object
clone()
Returns clone of current ObjectVector
boolean
contains(Object s)
Tell if the table contains the given Object.
Object
elementAt(int i)
Get the nth element.
int
indexOf(Object elem)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
int
indexOf(Object elem, int index)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
void
insertElementAt(Object value, int at)
Inserts the specified object in this vector at the specified index.
int
lastIndexOf(Object elem)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.
void
removeAllElements()
Remove all elements objects from the list.
boolean
removeElement(Object s)
Removes the first occurrence of the argument from this vector.
void
removeElementAt(int i)
Deletes the component at the specified index.
void
setElementAt(Object value, int index)
Sets the component at the specified index of this vector to be the specified object.
void
setSize(int sz)
Get the length of the list.
void
setToSize(int size)
int
size()
Get the length of the list.

Constructor Details

ObjectVector

public ObjectVector()
Default constructor. Note that the default block size is very small, for small lists.


ObjectVector

public ObjectVector(int blocksize)
Construct a IntVector, using the given block size.

Parameters:
blocksize - Size of block to allocate


ObjectVector

public ObjectVector(int blocksize,
                    int increaseSize)
Construct a IntVector, using the given block size.

Parameters:
blocksize - Size of block to allocate


ObjectVector

public ObjectVector(ObjectVector v)
Copy constructor for ObjectVector

Parameters:
v - Existing ObjectVector to copy

Method Details

addElement

public final void addElement(Object value)
Append an object onto the vector.

Parameters:
value - Object to add to the list


addElements

public final void addElements(Object value,
                              int numberOfElements)
Append several Object values onto the vector.

Parameters:
value - Object to add to the list


addElements

public final void addElements(int numberOfElements)
Append several slots onto the vector, but do not set the values.

Parameters:
numberOfElements - number of slots to append


clone

public Object clone()
            throws CloneNotSupportedException
Returns clone of current ObjectVector

Returns:
clone of current ObjectVector


contains

public final boolean contains(Object s)
Tell if the table contains the given Object.

Parameters:
s - object to look for

Returns:
true if the object is in the list


elementAt

public final Object elementAt(int i)
Get the nth element.

Parameters:
i - index of object to get

Returns:
object at given index


indexOf

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

Parameters:
elem - object to look for

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.


indexOf

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

Parameters:
elem - object to look for
index - Index of where to begin search

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 final void insertElementAt(Object value,
                                  int at)
Inserts the specified object 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.

Parameters:
value - Object to insert
at - Index of where to insert


lastIndexOf

public final int lastIndexOf(Object elem)
Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.

Parameters:
elem - Object to look for

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.


removeAllElements

public final void removeAllElements()
Remove all elements objects from the list.


removeElement

public final boolean removeElement(Object s)
Removes the first occurrence 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:
s - Object to remove from array

Returns:
True if the object was removed, false if it was not found


removeElementAt

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

Parameters:
i - index of where to remove an object


setElementAt

public final void setElementAt(Object value,
                               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.

Parameters:
value - object to set
index - Index of where to set the object


setSize

public final void setSize(int sz)
Get the length of the list.


setToSize

public final void setToSize(int size)


size

public final int size()
Get the length of the list.

Returns:
length of the list


Copyright B) 2004 Apache XML Project. All Rights Reserved.