public class SuballocatedIntVector extends Object
Modifier and Type | Field and Description |
---|---|
protected int |
m_blocksize
Size of blocks to allocate
|
protected int[] |
m_buildCache
"Shortcut" handle to most recently added row of m_map.
|
protected int |
m_buildCacheStartIndex |
protected int |
m_firstFree
Number of ints in array
|
protected int[][] |
m_map
Array of arrays of ints
|
protected int[] |
m_map0
"Shortcut" handle to m_map[0].
|
protected int |
m_MASK
Bitwise addressing (much faster than div/remainder
|
protected int |
m_numblocks
The number of blocks to (over)allocate by
|
protected int |
m_SHIFT
Bitwise addressing (much faster than div/remainder
|
protected static int |
NUMBLOCKS_DEFAULT
The default number of blocks to (over)allocate by
|
Constructor and Description |
---|
SuballocatedIntVector()
Default constructor.
|
SuballocatedIntVector(int blocksize)
Construct a IntVector, using the given block size and
the default number of blocks (32).
|
SuballocatedIntVector(int blocksize,
int numblocks)
Construct a IntVector, using the given block size and number
of blocks.
|
Modifier and Type | Method and Description |
---|---|
void |
addElement(int value)
Append a int onto the vector.
|
int |
elementAt(int i)
Get the nth element.
|
int[][] |
getMap()
Return the m_map double array
|
int[] |
getMap0()
Return the internal m_map0 array
|
int |
indexOf(int 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(int 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 |
removeAllElements()
Wipe it out.
|
void |
setElementAt(int value,
int at)
Sets the component at the specified index of this vector to be the
specified object.
|
void |
setSize(int sz)
Set the length of the list.
|
int |
size()
Get the length of the list.
|
protected int m_blocksize
protected int m_SHIFT
protected int m_MASK
protected static final int NUMBLOCKS_DEFAULT
protected int m_numblocks
protected int[][] m_map
protected int m_firstFree
protected int[] m_map0
protected int[] m_buildCache
protected int m_buildCacheStartIndex
public SuballocatedIntVector()
public SuballocatedIntVector(int blocksize, int numblocks)
blocksize
- Size of block to allocatenumblocks
- Number of blocks to allocatepublic SuballocatedIntVector(int blocksize)
blocksize
- Size of block to allocatepublic int size()
public void setSize(int sz)
public void addElement(int value)
value
- Int to add to the listpublic void removeAllElements()
public void setElementAt(int value, int at)
value
- object to setat
- Index of where to set the objectpublic int elementAt(int i)
i
- index of value to getArrayIndexOutOfBoundsException
- if the index was _clearly_
unreasonable (negative, or past the highest block).NullPointerException
- if the index points to a block that could
have existed (based on the highest index used) but has never had anything
set into it.
%REVIEW% Could add a catch to create the block in that case, or return 0.
Try/Catch is _supposed_ to be nearly free when not thrown to. Do we
believe that? Should we have a separate safeElementAt?public int indexOf(int elem, int index)
elem
- object to look forindex
- Index of where to begin searchpublic int indexOf(int elem)
elem
- object to look forpublic final int[] getMap0()
public final int[][] getMap()
Copyright © 2018 JBoss by Red Hat. All rights reserved.