Package org.apache.xml.utils
Class ObjectVector
java.lang.Object
org.apache.xml.utils.ObjectVector
- All Implemented Interfaces:
Cloneable
- Direct Known Subclasses:
ObjectStack
public class ObjectVector extends 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.
-
Field Summary
Fields Modifier and Type Field Description protected intm_blocksizeSize of blocks to allocateprotected intm_firstFreeNumber of ints in arrayprotected Object[]m_mapArray of objectsprotected intm_mapSizeSize of array -
Constructor Summary
Constructors Constructor Description 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
Modifier and Type Method Description voidaddElement(Object value)Append an object onto the vector.voidaddElements(int numberOfElements)Append several slots onto the vector, but do not set the values.voidaddElements(Object value, int numberOfElements)Append several Object values onto the vector.Objectclone()Returns clone of current ObjectVectorbooleancontains(Object s)Tell if the table contains the given Object.ObjectelementAt(int i)Get the nth element.intindexOf(Object elem)Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.intindexOf(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.voidinsertElementAt(Object value, int at)Inserts the specified object in this vector at the specified index.intlastIndexOf(Object elem)Searches for the first occurence of the given argument, beginning the search at index, and testing for equality using the equals method.voidremoveAllElements()Remove all elements objects from the list.booleanremoveElement(Object s)Removes the first occurrence of the argument from this vector.voidremoveElementAt(int i)Deletes the component at the specified index.voidsetElementAt(Object value, int index)Sets the component at the specified index of this vector to be the specified object.voidsetSize(int sz)Get the length of the list.voidsetToSize(int size)intsize()Get the length of the list.
-
Field Details
-
m_blocksize
protected int m_blocksizeSize of blocks to allocate -
m_map
Array of objects -
m_firstFree
protected int m_firstFreeNumber of ints in array -
m_mapSize
protected int m_mapSizeSize of array
-
-
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
Copy constructor for ObjectVector- Parameters:
v- Existing ObjectVector to copy
-
-
Method Details
-
size
public final int size()Get the length of the list.- Returns:
- length of the list
-
setSize
public final void setSize(int sz)Get the length of the list. -
addElement
Append an object onto the vector.- Parameters:
value- Object to add to the list
-
addElements
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
-
insertElementAt
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 insertat- Index of where to insert
-
removeAllElements
public final void removeAllElements()Remove all elements objects from the list. -
removeElement
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
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 setindex- Index of where to set the object
-
elementAt
Get the nth element.- Parameters:
i- index of object to get- Returns:
- object at given index
-
contains
Tell if the table contains the given Object.- Parameters:
s- object to look for- Returns:
- true if the object is in the list
-
indexOf
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 forindex- 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.
-
indexOf
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.
-
lastIndexOf
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.
-
setToSize
public final void setToSize(int size) -
clone
Returns clone of current ObjectVector- Overrides:
clonein classObject- Returns:
- clone of current ObjectVector
- Throws:
CloneNotSupportedException- if this object's class does not implement theCloneableinterface.
-