Package com.tangosol.util
Class SimpleLongArray
- java.lang.Object
-
- com.tangosol.util.AbstractLongArray
-
- com.tangosol.util.SimpleLongArray
-
- All Implemented Interfaces:
LongArray
,Serializable
,Cloneable
,Iterable
public class SimpleLongArray extends AbstractLongArray implements Serializable, LongArray
An implementation of LongArray that stores values in an array, thus is actually an "IntArray". Optimized for 0-based arrays. Null values are not considered to be entries, thus will not affect "first" and "last" and will not show up in the iterator. Note: not designed to be thread safe.- Version:
- 1.00 2003.04.09
- Author:
- cp
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SimpleLongArray.Iterator
An Iterator that adds a "current element" concept, similar to theMap.Entry
interface.
-
Constructor Summary
Constructors Constructor Description SimpleLongArray()
Construct an empty SimpleLongArray.SimpleLongArray(Object oValue)
Create aSimpleLongArray
with a single entry at index zero.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
add(Object oValue)
Add the passed element value to the LongArray and return the index at which the element value was stored.Object
ceiling(long lIndex)
Return the "first" value with an index which is greater than or equal to the specified index.long
ceilingIndex(long lIndex)
Return the "first" index which is greater than or equal to the specified index.void
clear()
Remove all nodes from the LongArray.SimpleLongArray
clone()
Make a clone of the LongArray.boolean
contains(Object oValue)
Determine if the LongArray contains the specified element.boolean
exists(long lIndex)
Determine if the specified index is in use.Object
floor(long lIndex)
Return the "first" value with an index which is less than or equal to the specified index.long
floorIndex(long lIndex)
Return the "first" index which is less than or equal to the specified index.Object
get(long lIndex)
Return the value stored at the specified index.long
getFirstIndex()
Determine the first index that exists in the LongArray.long
getLastIndex()
Determine the last index that exists in the LongArray.int
getSize()
Determine the size of the LongArray.long
indexOf(Object oValue, long lIndex)
Return the index in this LongArray of the first occurrence of the specified element such that (index >= lIndex), or NOT_FOUND if this LongArray does not contain the specified element.boolean
isEmpty()
Test for empty LongArray.LongArray.Iterator
iterator()
Obtain a LongArray.Iterator of the contents of the LongArray.LongArray.Iterator
iterator(long lIndex)
Obtain a LongArray.Iterator of the contents of the LongArray, starting at a particular index such that the first call to next will set the location of the iterator at the first existent index that is greater than or equal to the specified index, or will throw a NoSuchElementException if there is no such existent index.long
lastIndexOf(Object oValue, long lIndex)
Return the index in this LongArray of the last occurrence of the specified element such that (index <= lIndex), or NOT_FOUND if this LongArray does not contain the specified element.Object
remove(long lIndex)
Remove the specified index from the LongArray, returning its associated value.LongArray.Iterator
reverseIterator()
Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices).LongArray.Iterator
reverseIterator(long lIndex)
Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices), starting at a particular index such that the first call to next will set the location of the iterator at the first existent index that is less than or equal to the specified index, or will throw a NoSuchElementException if there is no such existent index.Object
set(long lIndex, Object oValue)
Add the passed item to the LongArray at the specified index.-
Methods inherited from class com.tangosol.util.AbstractLongArray
equals, hashCode, indexOf, lastIndexOf, remove, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
MAX
public static final long MAX
Maximum index value.- See Also:
- Constant Field Values
-
EMPTY
public static final Object[] EMPTY
Empty array of objects.
-
-
Constructor Detail
-
SimpleLongArray
public SimpleLongArray()
Construct an empty SimpleLongArray.
-
SimpleLongArray
public SimpleLongArray(Object oValue)
Create aSimpleLongArray
with a single entry at index zero.- Parameters:
oValue
- the value to add at index zero- Throws:
NullPointerException
- if the value isnull
-
-
Method Detail
-
get
public Object get(long lIndex)
Return the value stored at the specified index.- Specified by:
get
in interfaceLongArray
- Overrides:
get
in classAbstractLongArray
- Parameters:
lIndex
- a long index value- Returns:
- the object stored at the specified index, or null
-
floorIndex
public long floorIndex(long lIndex)
Description copied from interface:LongArray
Return the "first" index which is less than or equal to the specified index.- Specified by:
floorIndex
in interfaceLongArray
- Parameters:
lIndex
- the index- Returns:
- the index or NOT_FOUND
-
floor
public Object floor(long lIndex)
Description copied from interface:LongArray
Return the "first" value with an index which is less than or equal to the specified index.
-
ceilingIndex
public long ceilingIndex(long lIndex)
Description copied from interface:LongArray
Return the "first" index which is greater than or equal to the specified index.- Specified by:
ceilingIndex
in interfaceLongArray
- Parameters:
lIndex
- the index- Returns:
- the index or NOT_FOUND
-
ceiling
public Object ceiling(long lIndex)
Description copied from interface:LongArray
Return the "first" value with an index which is greater than or equal to the specified index.
-
set
public Object set(long lIndex, Object oValue)
Add the passed item to the LongArray at the specified index.If the index is already used, the passed value will replace the current value stored with the key, and the replaced value will be returned.
It is expected that LongArray implementations will "grow" as necessary to support the specified index.
-
add
public long add(Object oValue)
Add the passed element value to the LongArray and return the index at which the element value was stored.- Specified by:
add
in interfaceLongArray
- Overrides:
add
in classAbstractLongArray
- Parameters:
oValue
- the object to add to the LongArray- Returns:
- the long index value at which the element value was stored
-
exists
public boolean exists(long lIndex)
Determine if the specified index is in use.- Specified by:
exists
in interfaceLongArray
- Overrides:
exists
in classAbstractLongArray
- Parameters:
lIndex
- a long index value- Returns:
- true if a value (including null) is stored at the specified index, otherwise false
-
remove
public Object remove(long lIndex)
Remove the specified index from the LongArray, returning its associated value.- Specified by:
remove
in interfaceLongArray
- Overrides:
remove
in classAbstractLongArray
- Parameters:
lIndex
- the index into the LongArray- Returns:
- the associated value (which can be null) or null if the specified index is not in the LongArray
-
contains
public boolean contains(Object oValue)
Determine if the LongArray contains the specified element.More formally, returns true if and only if this LongArray contains at least one element e such that (oValue==null ? e==null : oValue.equals(e)).
- Specified by:
contains
in interfaceLongArray
- Overrides:
contains
in classAbstractLongArray
- Parameters:
oValue
- element whose presence in this list is to be tested- Returns:
- true if this list contains the specified element
-
clear
public void clear()
Remove all nodes from the LongArray.- Specified by:
clear
in interfaceLongArray
- Overrides:
clear
in classAbstractLongArray
-
isEmpty
public boolean isEmpty()
Test for empty LongArray.- Specified by:
isEmpty
in interfaceLongArray
- Overrides:
isEmpty
in classAbstractLongArray
- Returns:
- true if LongArray has no nodes
-
getSize
public int getSize()
Determine the size of the LongArray.- Specified by:
getSize
in interfaceLongArray
- Overrides:
getSize
in classAbstractLongArray
- Returns:
- the number of nodes in the LongArray
-
iterator
public LongArray.Iterator iterator()
Obtain a LongArray.Iterator of the contents of the LongArray.
-
iterator
public LongArray.Iterator iterator(long lIndex)
Obtain a LongArray.Iterator of the contents of the LongArray, starting at a particular index such that the first call to next will set the location of the iterator at the first existent index that is greater than or equal to the specified index, or will throw a NoSuchElementException if there is no such existent index.
-
reverseIterator
public LongArray.Iterator reverseIterator()
Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices).- Specified by:
reverseIterator
in interfaceLongArray
- Returns:
- an instance of LongArray.Iterator
-
reverseIterator
public LongArray.Iterator reverseIterator(long lIndex)
Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices), starting at a particular index such that the first call to next will set the location of the iterator at the first existent index that is less than or equal to the specified index, or will throw a NoSuchElementException if there is no such existent index.- Specified by:
reverseIterator
in interfaceLongArray
- Parameters:
lIndex
- the LongArray index to iterate from- Returns:
- an instance of LongArray.Iterator
-
getFirstIndex
public long getFirstIndex()
Determine the first index that exists in the LongArray.- Specified by:
getFirstIndex
in interfaceLongArray
- Overrides:
getFirstIndex
in classAbstractLongArray
- Returns:
- the lowest long value that exists in this LongArray, or NOT_FOUND if the LongArray is empty
-
getLastIndex
public long getLastIndex()
Determine the last index that exists in the LongArray.- Specified by:
getLastIndex
in interfaceLongArray
- Overrides:
getLastIndex
in classAbstractLongArray
- Returns:
- the highest long value that exists in this LongArray, or NOT_FOUND if the LongArray is empty
-
indexOf
public long indexOf(Object oValue, long lIndex)
Return the index in this LongArray of the first occurrence of the specified element such that (index >= lIndex), or NOT_FOUND if this LongArray does not contain the specified element.- Specified by:
indexOf
in interfaceLongArray
- Overrides:
indexOf
in classAbstractLongArray
- Parameters:
oValue
- the object to find the index forlIndex
- the index to compare to- Returns:
- the index of the specified object in the LongArray that is greater or equal to the specified index
-
lastIndexOf
public long lastIndexOf(Object oValue, long lIndex)
Return the index in this LongArray of the last occurrence of the specified element such that (index <= lIndex), or NOT_FOUND if this LongArray does not contain the specified element.- Specified by:
lastIndexOf
in interfaceLongArray
- Overrides:
lastIndexOf
in classAbstractLongArray
- Parameters:
oValue
- the object to find the index forlIndex
- the index to compare to- Returns:
- the index of the specified object in this LongArray that is less or equal to the specified index
-
clone
public SimpleLongArray clone()
Make a clone of the LongArray. The element values are not deep-cloned.- Specified by:
clone
in interfaceLongArray
- Overrides:
clone
in classAbstractLongArray
- Returns:
- a clone of this LongArray object
-
-