Class pmr.euclid.IntArray
All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class pmr.euclid.IntArray

java.lang.Object
   |
   +----pmr.euclid.Status
           |
           +----pmr.euclid.IntArray

public class IntArray
extends Status

IntArray - array of ints

IntArray represents a 1-dimensional vector/array of ints and is basically a wrapper for int[] in Java There are a lot of useful member functions (sorting, ranges, parallel operations, etc. - have a look)

The default is an array with zero points. All arrays are valid objects.

Attempting to create an array with < 0 points creates a default array (zero points).

Since int[] knows its length (unlike C), there are many cases where int[] can be safely used. However it is not a first-class object and IntArray supplies this feature. int[] is referenceable through getArray().

Author:
(C) P. Murray-Rust, 1996

Constructor Index

 o IntArray()
default is an array of zero points
 o IntArray(int)
creates n-element array initialised to 0
 o IntArray(int, int)
set all elements of the array to a given value
 o IntArray(int, int, int)
This gives a nelem-element array initialised to elem1+(i-1)*delta
 o IntArray(int, int[])
Formed by feeding in an existing array; requires the size.
 o IntArray(int, String, int)
Create a given 'shape' of array for data filtering.
 o IntArray(int[])
from an existing int[] (which knows its length)
 o IntArray(IntArray)
copy constructor
 o IntArray(IntArray, int, int)
subarray of another array - inclusive; if low > high or other silly indices, creates default array
 o IntArray(String)
from a String with space-separated strings representing Ints
 o IntArray(String[])
from an array of Strings (which must represent Ints)

Method Index

 o absSumAllElements()
absolute sum of all elements
 o addArray(IntArray)
append elements
 o addElement(int)
append element
 o applyFilter(IntArray)
apply filter (i.e.
 o clearArray()
clear all elements of array
 o clone()
clones another IntArray
 o copy(int[])
copy a int[] into a new one
 o cumulativeSum()
cumulative sum of array (new RA contains
elem[i] = sum(k = 0 to i) f[k]

does not modify 'this'

 o deleteElement(int)
delete element and close up; if outside range, take no action
 o deleteElements(int, int)
delete elements and close up; if outside range take no action
 o deleteElements(int[], int, int)
delete elements (lo - > hi inclusive) in a float[] and close up; if hi >= float.length hi is reset to float.length-1.
 o dotProduct(IntArray)
dot product of two IntArrays - if of same length - else zero
 o elementAt(int)
extracts a given element from the array
 o equals(IntArray)
are two arrays equal in all elements? (use epsilon as tolerance)
 o getArray()
return the array as a int[]; this has to resize the array to the precise length used , or confusion will result! Note that this gives the user access to the actual array, so that they can alter its contents.
 o getReorderedArray(IntSet)
reorder by index in IntSet; does NOT modify array
 o getReverseArray()
return the elements in reverse order as int[]
 o getStringValues()
returns values as strings
 o getSubArray(int, int)
RHS: get a subIntArray from element start to end
 o indexOfLargestElement()
index of largest element; returns -1 if zero element array
 o indexOfSmallestElement()
index of smallest element
 o indexSortAscending()
 o indexSortDescending()
sort array into descending order via indexes; array NOT MODIFIED
 o innerProduct()
inner product - same as dotProduct
 o inRange(IntRange)
return index of elements within a given range
 o insertArray(int, IntArray)
insert a IntArray at position elem and expand
 o insertElementAt(int, int)
insert element and expand; if outside range, take no action
 o isClear()
is the array filled with zeros?
 o largestElement()
value of largest element
 o main(String[])
 o multiplyBy(int)
array multiplication by a scalar; does NOT modify 'this'
 o negative()
change the sign of all elements; MODIFIES this
 o outOfRange(IntRange)
return index of elements outside a given range
 o plus(IntArray)
array addition - adds conformable arrays
 o range()
range of array (default IntRange for zero array)
 o reverse()
MODIFIES array to be in reverse order
 o setAllElements(int)
initialise array to given int[]
 o setElementAt(int, int)
set a given element into the array; must be less than current max index
 o setElements(int, int[])
copy a smaller array into the array statrting at start
 o setMaxIndex(int)
reset the maximum index (for when poking elements) (no other effect)
 o shallowCopy(IntArray)
shallowCopy
 o size()
get actual number of elements
 o smallestElement()
value of smallest element
 o sortAscending()
MODIFIES array to be in ascending order
 o sortDescending()
MODIFIES array to be in ascending order
 o subtract(IntArray)
array subtraction - subtracts conformable arrays
 o sumAllElements()
sum all elements
 o test()
 o toString()
concatenates values with spaces

Constructors

 o IntArray
  public IntArray()
default is an array of zero points
 o IntArray
  public IntArray(int n)
creates n-element array initialised to 0
 o IntArray
  public IntArray(int n,
                  int elem1,
                  int delta)
This gives a nelem-element array initialised to elem1+(i-1)*delta
 o IntArray
  public IntArray(int n,
                  int elem1)
set all elements of the array to a given value
 o IntArray
  public IntArray(int n,
                  int arr[])
Formed by feeding in an existing array; requires the size. (You can use the *.length of the array if necessary)
 o IntArray
  public IntArray(int arr[])
from an existing int[] (which knows its length)
 o IntArray
  public IntArray(IntArray m,
                  int low,
                  int high)
subarray of another array - inclusive; if low > high or other silly indices, creates default array
 o IntArray
  public IntArray(IntArray m)
copy constructor
 o IntArray
  public IntArray(int nn,
                  String shape,
                  int maxval)
Create a given 'shape' of array for data filtering. An intended use is with IntArray.arrayFilter(). The shapes (before scaling by maxval) are:
 o IntArray
  public IntArray(String strings[]) throws NumberFormatException
from an array of Strings (which must represent Ints)
Throws: NumberFormatException
a string could not be interpreted as Int
 o IntArray
  public IntArray(String string) throws NumberFormatException
from a String with space-separated strings representing Ints
Throws: NumberFormatException
a string could not be interpreted as Int

Methods

 o clone
  public Object clone()
clones another IntArray
Overrides:
clone in class Object
 o shallowCopy
  public void shallowCopy(IntArray m)
shallowCopy
 o elementAt
  public int elementAt(int elem) throws ArrayIndexOutOfBoundsException
extracts a given element from the array
Throws: ArrayIndexOutOfBoundsException
elem >= size of this
 o size
  public int size()
get actual number of elements
 o getArray
  public int[] getArray()
return the array as a int[]; this has to resize the array to the precise length used , or confusion will result! Note that this gives the user access to the actual array, so that they can alter its contents. This should be used with care, but Java should stop any access outside the buffer limits.
 o clearArray
  public void clearArray()
clear all elements of array
 o getReverseArray
  public int[] getReverseArray()
return the elements in reverse order as int[]
 o setMaxIndex
  public void setMaxIndex(int max)
reset the maximum index (for when poking elements) (no other effect)
 o equals
  public boolean equals(IntArray f) throws UnequalLengthArraysException
are two arrays equal in all elements? (use epsilon as tolerance)
Throws: UnequalLengthArraysException
f is different size from this
 o plus
  public IntArray plus(IntArray f) throws UnequalLengthArraysException
array addition - adds conformable arrays
Throws: UnequalLengthArraysException
f is different size from this
 o subtract
  public IntArray subtract(IntArray f) throws UnequalLengthArraysException
array subtraction - subtracts conformable arrays
Throws: UnequalLengthArraysException
f is different size from this
 o negative
  public void negative()
change the sign of all elements; MODIFIES this
 o multiplyBy
  public IntArray multiplyBy(int f)
array multiplication by a scalar; does NOT modify 'this'
 o setElementAt
  public void setElementAt(int elem,
                           int f) throws ArrayIndexOutOfBoundsException
set a given element into the array; must be less than current max index
Throws: ArrayIndexOutOfBoundsException
elem >= size of this
 o getSubArray
  public IntArray getSubArray(int start,
                              int end)
RHS: get a subIntArray from element start to end
 o setElements
  public void setElements(int start,
                          int a[])
copy a smaller array into the array statrting at start
 o isClear
  public boolean isClear()
is the array filled with zeros?
 o setAllElements
  public void setAllElements(int f)
initialise array to given int[]
 o sumAllElements
  public int sumAllElements()
sum all elements
 o absSumAllElements
  public int absSumAllElements()
absolute sum of all elements
 o innerProduct
  public int innerProduct()
inner product - same as dotProduct
 o dotProduct
  public int dotProduct(IntArray f) throws UnequalLengthArraysException
dot product of two IntArrays - if of same length - else zero
Throws: UnequalLengthArraysException
f is different size from this
 o cumulativeSum
  public IntArray cumulativeSum()
cumulative sum of array (new RA contains
elem[i] = sum(k = 0 to i) f[k]

does not modify 'this'

 o applyFilter
  public IntArray applyFilter(IntArray filter)
apply filter (i.e. convolute RA with another RA). This is 1-D image processing. If filter has <= 1 element, return this unchanged. filter should have an odd number of elements.

The filter can be created with a IntArray constructor

 o indexOfLargestElement
  public int indexOfLargestElement()
index of largest element; returns -1 if zero element array
 o indexOfSmallestElement
  public int indexOfSmallestElement()
index of smallest element
 o largestElement
  public int largestElement()
value of largest element
 o smallestElement
  public int smallestElement()
value of smallest element
 o range
  public IntRange range()
range of array (default IntRange for zero array)
 o deleteElement
  public void deleteElement(int elem)
delete element and close up; if outside range, take no action
 o deleteElements
  public void deleteElements(int low,
                             int high)
delete elements and close up; if outside range take no action
 o insertElementAt
  public void insertElementAt(int elem,
                              int f)
insert element and expand; if outside range, take no action
 o insertArray
  public void insertArray(int elem,
                          IntArray f)
insert a IntArray at position elem and expand
 o addElement
  public void addElement(int f)
append element
 o addArray
  public void addArray(IntArray f)
append elements
 o getReorderedArray
  public IntArray getReorderedArray(IntSet idx) throws BadSubscriptException
reorder by index in IntSet; does NOT modify array
Throws: BadSubscriptException
an element of idx is outside range of this
 o inRange
  public IntSet inRange(IntRange r)
return index of elements within a given range
 o outOfRange
  public IntSet outOfRange(IntRange r)
return index of elements outside a given range
 o getStringValues
  public String[] getStringValues()
returns values as strings
 o toString
  public String toString()
concatenates values with spaces
Overrides:
toString in class Object
 o deleteElements
  public static int[] deleteElements(int f[],
                                     int low,
                                     int hi)
delete elements (lo - > hi inclusive) in a float[] and close up; if hi >= float.length hi is reset to float.length-1.
 o copy
  public static int[] copy(int f[])
copy a int[] into a new one
 o sortAscending
  public void sortAscending()
MODIFIES array to be in ascending order
 o sortDescending
  public void sortDescending()
MODIFIES array to be in ascending order
 o reverse
  public void reverse()
MODIFIES array to be in reverse order
 o indexSortAscending
  public IntSet indexSortAscending()
 o indexSortDescending
  public IntSet indexSortDescending()
sort array into descending order via indexes; array NOT MODIFIED
 o test
  public static void test()
 o main
  public static void main(String args[])

All Packages  Class Hierarchy  This Package  Previous  Next  Index