uka.util
Class EnlargingIntArray

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

public final class EnlargingIntArray
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)  int[] array
           
 int DEFAULT
           
(package private)  int length
           
static int MIN_SIZE
           
 
Constructor Summary
EnlargingIntArray()
           
EnlargingIntArray(EnlargingIntArray other)
           
EnlargingIntArray(int length)
           
EnlargingIntArray(int length, int DEFAULT)
           
 
Method Summary
 int add(int obj)
           
 void appendTo(ToString s)
           
 void clear()
           
static void copy(EnlargingIntArray src, int srcIndex, EnlargingIntArray dst, int dstIndex, int length)
           
private  void enlarge(int newLength)
           
 void fill(int start, int stop, int value)
           
 int get(int idx)
           
 IntIterator iterator()
           
 void move(int moveSrc, int moveDst, int moveLength)
           
 void permute(Permutation permutation)
          Permutes the contents of this array.
 int pop()
          Returns the element at position size() - 1 and shrinks the size of this array by 1.
 int remove(int idx)
           
 int set(int idx, int obj)
           
 void setSize(int size)
           
 int size()
           
 int test(int idx)
          Same as get(int), except for indices larger than or equal to the array length.
 int[] toArray(int[] 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 int DEFAULT

length

int length

array

int[] array

MIN_SIZE

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

EnlargingIntArray

public EnlargingIntArray()

EnlargingIntArray

public EnlargingIntArray(int length)

EnlargingIntArray

public EnlargingIntArray(int length,
                         int DEFAULT)

EnlargingIntArray

public EnlargingIntArray(EnlargingIntArray other)
Method Detail

get

public int get(int idx)

test

public int 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 int set(int idx,
               int obj)

copy

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

add

public int add(int obj)

remove

public int remove(int idx)

pop

public int 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,
                 int value)

enlarge

private final void enlarge(int newLength)

iterator

public IntIterator iterator()

toArray

public int[] toArray(int[] a)

toString

public java.lang.String toString()

appendTo

public void appendTo(ToString s)