Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.grogra.xl.util
Class IntList

    java.lang.Object
      de.grogra.xl.util.IntList

All Implemented Interfaces:
  IntConsumer, VoidToIntGenerator, java.io.Serializable, java.lang.Cloneable

    public class IntList

extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable, IntConsumer, VoidToIntGenerator

A `IntList` represents a list of `int` values. It provides list- and stack-oriented methods for insertion, addition, and removal, of values. The methods are not thread-safe.

Author:
  Ole Kniemeyer
See Also:
  Serialized Form

Field Summary
`int[]` | `elements` The array holding the elements.
`int` | `size` The size of this list.

Constructor Summary
`IntList()` Constructs a new `IntList`.
`IntList(int capacity)` Constructs a new `IntList` with a given initial capacity.
`IntList(int[] elements)` Constructs a new `IntList` whose elements are a copy of `elements`.

Method Summary
`boolean` | `add(int o)` Adds `o` as last element to this list.
`void` | `add(int index, int o)` Inserts `o` at position `index` to this list.
`IntList` | `addAll(int[] v, int begin, int length)` Appends `length` components of `v` to this list, starting at index `begin`.
`IntList` | `addAll(IntList v)` Appends all elements of `v` to this list.
`void` | `addIfNotContained(int o)` Adds `o` as last element to this list if is not yet contained as reported by `contains(int)`.
`static void` | `arraycopy(int[] src, int srcIndex, int[] dest, int destIndex, int length)`
`int` | `binarySearch(int value)` Searches this list for the specified value using the binary search algorithm.
`static int` | `binarySearch(int[] array, int value)`
`static int` | `binarySearch(int[] array, int value, int fromIndex, int toIndex)`
`void` | `clear()` Removes all of the elements from this list.
`static void` | `clear(int[] array, int index, int length)`
`java.lang.Object` | `clone()`
`void` | `consume(int value)` Receives a value of type `int`.
`boolean` | `contains(int o)` Returns `true` iff this list contains the given element `o`.
`void` | `ensureCapacity(int capacity)` Ensures a capacity of the internal array of at least `capacity`.
`boolean` | `equals(java.lang.Object o)`
`void` | `evaluateInt(IntConsumer cons)` This generator method yields all values to `cons`.
`int` | `get(int index)` Returns the list element at `index`.
`int` | `hashCode()`
`int` | `indexOf(int o)` Returns the index of `o` in this list.
`boolean` | `isEmpty()` Returns if this list is empty, i.e., if its size is zero.
`int` | `lastIndexOf(int o)` Returns the last index of `o` in this list.
`int` | `peek(int index)` Returns the list element at `index` as seen from the top, i.e., at absolute position `size - index`.
`int` | `pop()` Removes and returns the object at the top of this list.
`IntList` | `push(int o)` Pushes `o` on top of this list, i.e., as last element.
`IntList` | `push(int o1, int o2)` Pushes `o1` and `o2` on top of this list, i.e., as last elements.
`IntList` | `push(int o1, int o2, int o3)` Pushes `o1 ... o3` on top of this list, i.e., as last elements.
`boolean` | `remove(int o)` Removes the element `o`.
`int` | `removeAt(int index)` Removes the element at position `index`.
`int` | `set(int index, int o)` Sets the element at position `index` to `o`.
`void` | `setSize(int size)` Sets the size of this list to the given value.
`int` | `size()` Returns the size of this list.
`int[]` | `toArray()` Returns an array containing the elements of this list.
`int[]` | `toArray(int[] array)` Returns an array containing the elements of this list.
`java.lang.String` | `toString()`
`void` | `trimToSize()` Trims the capacity of this list to be its current size.
`void` | `values(IntConsumer cons)` This method is an alias for `evaluateInt(de.grogra.xl.lang.IntConsumer)`.
`void` | `writeTo(java.nio.IntBuffer out)`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### elements

    public transient int[] elements

  The array holding the elements. Only the components from 0 to `size - 1` are valid. Direct operation on this array has to be designed carefully to avoid inconsistencies.

### size

    public int size

  The size of this list. Direct operation on this field has to be designed carefully to avoid inconsistencies.

Constructor Detail

### IntList

    public IntList()

  Constructs a new `IntList`.

### IntList

    public IntList(int capacity)

  Constructs a new `IntList` with a given initial capacity.

  Parameters:
    `capacity` - the initial capacity

### IntList

    public IntList(int[] elements)

  Constructs a new `IntList` whose elements are a copy of `elements`.

  Parameters:
    `elements` - the initial elements of the list

Method Detail

### add

    public boolean add(int o)

  Adds `o` as last element to this list.

  Parameters:
    `o` - the value to add
  Returns:
    `true`

### add

    public void add(int index,
                    int o)

  Inserts `o` at position `index` to this list. If `index` is not less than `size`, the list is enlarged and filled with `0`-values before.

  Parameters:
    `index` - the insert position
    `o` - the value to insert

### addAll

    public IntList addAll(int[] v,
                          int begin,
                          int length)

  Appends `length` components of `v` to this list, starting at index `begin`.

  Parameters:
    `v` - the array of elements to add
    `begin` - the array index to begin with
    `length` - the number of elements to add
  Returns:
    this list

### addAll

    public IntList addAll(IntList v)

  Appends all elements of `v` to this list.

  Parameters:
    `v` - the list of elements to add
  Returns:
    this list

### addIfNotContained

    public void addIfNotContained(int o)

  Adds `o` as last element to this list if is not yet contained as reported by `contains(int)`.

  Parameters:
    `o` - the value to add

### arraycopy

    public static void arraycopy(int[] src,
                                 int srcIndex,
                                 int[] dest,
                                 int destIndex,
                                 int length)

### binarySearch

    public int binarySearch(int value)

  Searches this list for the specified value using the binary search algorithm. This list has to be sorted in ascending order.

  Parameters:
    `value` - the value to be searched for
  Returns:
    index of the searched value, if it is contained in this list; otherwise, `(-(insertion point) - 1)`. The insertion point is defined as the point at which the value would be inserted into the list: the index of the first element greater than the value, or `size()`, if all elements in the list are less than the specified value.

### binarySearch

    public static int binarySearch(int[] array,
                                   int value)

### binarySearch

    public static int binarySearch(int[] array,
                                   int value,
                                   int fromIndex,
                                   int toIndex)

### clear

    public void clear()

  Removes all of the elements from this list. The list will be empty after this call returns.

### clear

    public static void clear(int[] array,
                             int index,
                             int length)

### clone

    public java.lang.Object clone()

  Overrides:
    `clone` in class `java.lang.Object`

### consume

    public void consume(int value)

  Description copied from interface: `IntConsumer`
  Receives a value of type `int`.

  Specified by:
    `consume` in interface `IntConsumer`

### contains

    public boolean contains(int o)

  Returns `true` iff this list contains the given element `o`.

  Parameters:
    `o` - a value
  Returns:
    `true` iff `o` is contained

### ensureCapacity

    public void ensureCapacity(int capacity)

  Ensures a capacity of the internal array of at least `capacity`.

  Parameters:
    `capacity` - the desired minimum capacity

### equals

    public boolean equals(java.lang.Object o)

  Overrides:
    `equals` in class `java.lang.Object`

### evaluateInt

    public void evaluateInt(IntConsumer cons)

  This generator method yields all values to `cons`.

  Specified by:
    `evaluateInt` in interface `VoidToIntGenerator`
  Parameters:
    `cons` - the consumer which receives the values

### get

    public int get(int index)

  Returns the list element at `index`. If `index` is not less than `size`, `0` is returned.

  Parameters:
    `index` - the position
  Returns:
    the value at `index`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.Object`

### indexOf

    public int indexOf(int o)

  Returns the index of `o` in this list.

  Parameters:
    `o` - a value
  Returns:
    the index of `o`, or -1 of `o` is not contained

### isEmpty

    public final boolean isEmpty()

  Returns if this list is empty, i.e., if its size is zero.

  Returns:
    `true` iff this list is empty

### lastIndexOf

    public int lastIndexOf(int o)

  Returns the last index of `o` in this list.

  Parameters:
    `o` - a value
  Returns:
    the index of `o`, or -1 of `o` is not contained

### peek

    public int peek(int index)

  Returns the list element at `index` as seen from the top, i.e., at absolute position `size - index`. Thus, the topmost element has index 1.

  Parameters:
    `index` - the position as seen from the top
  Returns:
    the value at that position

### pop

    public int pop()

  Removes and returns the object at the top of this list.

  Returns:
    the removed object from the top of this list

### push

    public final IntList push(int o)

  Pushes `o` on top of this list, i.e., as last element.

  Parameters:
    `o` - the value to push
  Returns:
    this list

### push

    public final IntList push(int o1,
                              int o2)

  Pushes `o1` and `o2` on top of this list, i.e., as last elements. The effect is the same as the invocation `list.push(o1).push(o2)`.

  Parameters:
    `o1` - the first value to push
    `o2` - the second value to push
  Returns:
    this list

### push

    public final IntList push(int o1,
                              int o2,
                              int o3)

  Pushes `o1 ... o3` on top of this list, i.e., as last elements. The effect is the same as the invocation `list.push(o1).push(o2).push(o3)`.

  Parameters:
    `o1` - the first value to push
    `o2` - the second value to push
    `o3` - the third value to push
  Returns:
    this list

### remove

    public boolean remove(int o)

  Removes the element `o`. The last occurence of `o` in this list is removed.

  Parameters:
    `o` - the element to be removed
  Returns:
    `true` iff `o` was found and removed from the list

### removeAt

    public int removeAt(int index)

  Removes the element at position `index`.

  Parameters:
    `index` - the position of the element to be removed
  Returns:
    the value of the removed element

### set

    public int set(int index,
                   int o)

  Sets the element at position `index` to `o`. If `index` is not less than `size`, the list is enlarged and filled with `0`-values before.

  Parameters:
    `index` - the position
    `o` - the new value
  Returns:
    the old value at `index`

### setSize

    public void setSize(int size)

  Sets the size of this list to the given value. If the new size is greater than the old size, the new elements are initialized with `0`-values.

  Parameters:
    `size` - the new size

### size

    public final int size()

  Returns the size of this list.

  Returns:
    the size

### toArray

    public int[] toArray()

  Returns an array containing the elements of this list.

  Returns:
    an array copy of this list

### toArray

    public int[] toArray(int[] array)

  Returns an array containing the elements of this list. The type of the returned array is that of the specified `array`. If this list fits in the specified `array`, it is returned therein. Otherwise, a new array is allocated whose length is the size of this list's size, the values of this list are copied into the new array, and this array is returned.

  If there is room for an additional element in the `array`, a `0`-value is written behind the last copied element.

  Parameters:
    `array` - an array to use
  Returns:
    an array copy of this list

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### trimToSize

    public void trimToSize()

  Trims the capacity of this list to be its current size.

### values

    public void values(IntConsumer cons)

  This method is an alias for `evaluateInt(de.grogra.xl.lang.IntConsumer)`.

### writeTo

    public void writeTo(java.nio.IntBuffer out)

Overview | Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD