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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
    An Iterator that adds a "current element" concept, similar to the Map.Entry interface.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final Object[]
    Empty array of objects.
    static final long
    Maximum index value.

    Fields inherited from interface com.tangosol.util.LongArray

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct an empty SimpleLongArray.
    Create a SimpleLongArray with a single entry at index zero.
  • Method Summary

    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.
    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
    Remove all nodes from the LongArray.
    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.
    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.
    get(long lIndex)
    Return the value stored at the specified index.
    long
    Determine the first index that exists in the LongArray.
    long
    Determine the last index that exists in the LongArray.
    int
    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
    Test for empty LongArray.
    Obtain a LongArray.Iterator of the contents of the LongArray.
    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.
    remove(long lIndex)
    Remove the specified index from the LongArray, returning its associated value.
    Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices).
    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.
    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

    Methods inherited from interface com.tangosol.util.LongArray

    equals, indexOf, keys, lastIndexOf, remove, toString
  • Field Details

    • MAX

      public static final long MAX
      Maximum index value.
      See Also:
    • EMPTY

      public static final Object[] EMPTY
      Empty array of objects.
  • Constructor Details

    • SimpleLongArray

      public SimpleLongArray()
      Construct an empty SimpleLongArray.
    • SimpleLongArray

      public SimpleLongArray(Object oValue)
      Create a SimpleLongArray with a single entry at index zero.
      Parameters:
      oValue - the value to add at index zero
      Throws:
      NullPointerException - if the value is null
  • Method Details

    • get

      public Object get(long lIndex)
      Return the value stored at the specified index.
      Specified by:
      get in interface LongArray
      Overrides:
      get in class AbstractLongArray
      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 interface LongArray
      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.
      Specified by:
      floor in interface LongArray
      Parameters:
      lIndex - the index
      Returns:
      the value or null
    • 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 interface LongArray
      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.
      Specified by:
      ceiling in interface LongArray
      Parameters:
      lIndex - the index
      Returns:
      the value or null
    • 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.

      Specified by:
      set in interface LongArray
      Parameters:
      lIndex - a long index value
      oValue - the object to store at the specified index
      Returns:
      the object that was stored at the specified index, or null
    • 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 interface LongArray
      Overrides:
      add in class AbstractLongArray
      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 interface LongArray
      Overrides:
      exists in class AbstractLongArray
      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 interface LongArray
      Overrides:
      remove in class AbstractLongArray
      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 interface LongArray
      Overrides:
      contains in class AbstractLongArray
      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 interface LongArray
      Overrides:
      clear in class AbstractLongArray
    • isEmpty

      public boolean isEmpty()
      Test for empty LongArray.
      Specified by:
      isEmpty in interface LongArray
      Overrides:
      isEmpty in class AbstractLongArray
      Returns:
      true if LongArray has no nodes
    • getSize

      public int getSize()
      Determine the size of the LongArray.
      Specified by:
      getSize in interface LongArray
      Overrides:
      getSize in class AbstractLongArray
      Returns:
      the number of nodes in the LongArray
    • iterator

      public LongArray.Iterator iterator()
      Obtain a LongArray.Iterator of the contents of the LongArray.
      Specified by:
      iterator in interface Iterable
      Specified by:
      iterator in interface LongArray
      Returns:
      an instance of LongArray.Iterator
    • 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.
      Specified by:
      iterator in interface LongArray
      Parameters:
      lIndex - the LongArray index to iterate from
      Returns:
      an instance of LongArray.Iterator
    • reverseIterator

      public LongArray.Iterator reverseIterator()
      Obtain a LongArray.Iterator of the contents of the LongArray in reverse order (decreasing indices).
      Specified by:
      reverseIterator in interface LongArray
      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 interface LongArray
      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 interface LongArray
      Overrides:
      getFirstIndex in class AbstractLongArray
      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 interface LongArray
      Overrides:
      getLastIndex in class AbstractLongArray
      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 interface LongArray
      Overrides:
      indexOf in class AbstractLongArray
      Parameters:
      oValue - the object to find the index for
      lIndex - 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 interface LongArray
      Overrides:
      lastIndexOf in class AbstractLongArray
      Parameters:
      oValue - the object to find the index for
      lIndex - 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 interface LongArray
      Overrides:
      clone in class AbstractLongArray
      Returns:
      a clone of this LongArray object