uka.util
Class EnlargingLongArray

java.lang.Object
  extended byuka.util.EnlargingLongArray
All Implemented Interfaces:
java.io.Serializable

public final class EnlargingLongArray
extends java.lang.Object
implements java.io.Serializable

A simple wrapper class for a regular Java array. In addition to the features of built-in Java arrays, instances of this class can be enlarged either automatically by setting a value to a position that exceeds the current size() of this array, or manually be explicitely setting the size.

This class is more convenient than a ArrayList, if direct manipulation of the array size is required. In addition there are customized versions of this class for all Java basic types.

Author:
Bernhard Haumacher
See Also:
Serialized Form

Field Summary
(package private)  long[] array
           
 long DEFAULT
           
(package private)  int length
           
static int MIN_SIZE
           
 
Constructor Summary
EnlargingLongArray()
           
EnlargingLongArray(EnlargingLongArray other)
           
EnlargingLongArray(int length)
           
EnlargingLongArray(int length, long DEFAULT)
           
 
Method Summary
 long add(long obj)
           
 void appendTo(ToString s)
           
 void clear()
           
static void copy(EnlargingLongArray src, int srcIndex, EnlargingLongArray dst, int dstIndex, int length)
           
private  void enlarge(int newLength)
           
 void fill(int start, int stop, long value)
           
 long get(int idx)
           
 LongIterator iterator()
           
 void move(int moveSrc, int moveDst, int moveLength)
           
 void permute(Permutation permutation)
          Permutes the contents of this array.
 long pop()
          Returns the element at position size() - 1 and shrinks the size of this array by 1.
 long remove(int idx)
           
 long set(int idx, long obj)
           
 void setSize(int size)
           
 int size()
           
 long test(int idx)
          Same as get(int), except for indices larger than or equal to the array length.
 long[] toArray(long[] a)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT

public final long DEFAULT

length

int length

array

long[] array

MIN_SIZE

public static final int MIN_SIZE
See Also:
Constant Field Values
Constructor Detail

EnlargingLongArray

public EnlargingLongArray()

EnlargingLongArray

public EnlargingLongArray(int length)

EnlargingLongArray

public EnlargingLongArray(int length,
                          long DEFAULT)

EnlargingLongArray

public EnlargingLongArray(EnlargingLongArray other)
Method Detail

get

public long get(int idx)

test

public long test(int idx)
Same as get(int), except for indices larger than or equal to the array length. For these cases, test(int) returns a null value instead of throwing an exception.


set

public long set(int idx,
                long obj)

copy

public static void copy(EnlargingLongArray src,
                        int srcIndex,
                        EnlargingLongArray dst,
                        int dstIndex,
                        int length)

add

public long add(long obj)

remove

public long remove(int idx)

pop

public long pop()
Returns the element at position size() - 1 and shrinks the size of this array by 1. This method enables a stack-like usage of this array.


permute

public void permute(Permutation permutation)
Permutes the contents of this array. The element at index n is moved to index permutation.compute(n).


setSize

public void setSize(int size)

size

public int size()

clear

public void clear()

move

public void move(int moveSrc,
                 int moveDst,
                 int moveLength)

fill

public void fill(int start,
                 int stop,
                 long value)

enlarge

private final void enlarge(int newLength)

iterator

public LongIterator iterator()

toArray

public long[] toArray(long[] a)

toString

public java.lang.String toString()

appendTo

public void appendTo(ToString s)