Class DogArray_I32

java.lang.Object
org.ddogleg.struct.DogArray_I32
All Implemented Interfaces:
DogArrayPrimitive<DogArray_I32>

public class DogArray_I32
extends Object
implements DogArrayPrimitive<DogArray_I32>
Growable array composed of ints.
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static interface  DogArray_I32.Filter  
    static interface  DogArray_I32.FunctionApplyIdx  
    static interface  DogArray_I32.FunctionEach  
    static interface  DogArray_I32.FunctionEachIdx  
  • Field Summary

    Fields
    Modifier and Type Field Description
    int[] data  
    int size  
  • Constructor Summary

    Constructors
    Constructor Description
    DogArray_I32()  
    DogArray_I32​(int reserve)  
  • Method Summary

    Modifier and Type Method Description
    void add​(int val)  
    void addAll​(int[] array, int startIndex, int endIndex)  
    void addAll​(DogArray_I32 queue)  
    void applyIdx​(DogArray_I32.FunctionApplyIdx func)  
    static DogArray_I32 array​(int... values)  
    boolean contains​(int value)  
    DogArray_I32 copy()  
    int count​(int value)
    Counts the number of times the specified value occurs in the list
    int count​(DogArray_I32.Filter filter)  
    void extend​(int size)
    Changes the array to the specified size.
    void fill​(int value)  
    void fill​(int idx0, int idx1, int value)  
    void flip()
    Flips the elements such that a[i] = a[N-i-1] where N is the number of elements.
    void forEach​(DogArray_I32.FunctionEach func)  
    void forIdx​(DogArray_I32.FunctionEachIdx func)  
    int get​(int index)  
    int getFraction​(double fraction)
    Gets the value at the index which corresponds to the specified fraction
    int getTail()  
    int getTail​(int index)
    Returns an element starting from the end of the list.
    int indexOf​(int value)
    Returns the index of the first element with the specified 'value'.
    int indexOfGreatest()  
    int indexOfLeast()  
    void insert​(int index, int value)
    Inserts the value at the specified index and shifts all the other values down.
    boolean isEquals​(int... values)
    Sees is the primitive array is equal to the values in this array
    int pop()  
    void push​(int val)  
    static DogArray_I32 range​(int idx0, int idx1)
    Returns a new array with values containing range of integer numbers from idx0 to idx1-1.
    void remove​(int index)  
    void remove​(int first, int last)
    Removes elements from the list starting at 'first' and ending at 'last'
    int removeSwap​(int index)
    Removes the specified index from the array by swapping it with last element.
    int removeTail()  
    void reserve​(int amount)
    Ensures that the internal array's length is at least this size.
    void reset()
    Sets the size to zero.
    void resetResize​(int size, int value)
    Convenience function that will first call reset() then resize(int, int), ensuring that every element in the array will have the specified value
    void resize​(int size)
    Ensures that the internal array is at least this size.
    void resize​(int size, int value)
    Resizes the array and assigns the default value to every new element.
    void resize​(int size, DogLambdas.AssignIdx_I32 op)
    Resizes and assigns the new elements (if any) to the value specified by the lambda
    void set​(int index, int value)  
    void setTail​(int index, int value)  
    DogArray_I32 setTo​(int... src)
    Set's the value of this array to the passed in raw array.
    void setTo​(int[] array, int offset, int length)
    Sets this array to be equal to the array segment
    void setTo​(DogArray_I32 original)
    Turns 'this' into a copy of 'original'
    int size()
    Number of elements in the queue
    void sort()
    Sorts the data from smallest to largest
    void sort​(QuickSort_S32 sorter)
    Sort but with a re-usable sorter to avoid declaring new memory
    int[] toArray()
    Creates a new primitive array which is a copy.
    int unsafe_get​(int index)  
    void zero()
    Sets all elements to 0 or False for binary queues
    static DogArray_I32 zeros​(int length)
    Creates a queue with the specified length as its size filled with all zeros

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.ddogleg.struct.DogArrayPrimitive

    isEmpty, isIndexOutOfBounds
  • Field Details

    • data

      public int[] data
    • size

      public int size
  • Constructor Details

    • DogArray_I32

      public DogArray_I32​(int reserve)
    • DogArray_I32

      public DogArray_I32()
  • Method Details

    • zeros

      public static DogArray_I32 zeros​(int length)
      Creates a queue with the specified length as its size filled with all zeros
    • array

      public static DogArray_I32 array​(int... values)
    • range

      public static DogArray_I32 range​(int idx0, int idx1)
      Returns a new array with values containing range of integer numbers from idx0 to idx1-1.
      Parameters:
      idx0 - Lower extent, inclusive.
      idx1 - Upper extent, exclusive.
      Returns:
      new array.
    • count

      public int count​(int value)
      Counts the number of times the specified value occurs in the list
    • isEquals

      public boolean isEquals​(int... values)
      Sees is the primitive array is equal to the values in this array
      Parameters:
      values - primitive array
      Returns:
      true if equal or false if not
    • reset

      public void reset()
      Description copied from interface: DogArrayPrimitive
      Sets the size to zero.
      Specified by:
      reset in interface DogArrayPrimitive<DogArray_I32>
    • addAll

      public void addAll​(DogArray_I32 queue)
    • addAll

      public void addAll​(int[] array, int startIndex, int endIndex)
    • add

      public void add​(int val)
    • push

      public void push​(int val)
    • setTo

      public void setTo​(int[] array, int offset, int length)
      Sets this array to be equal to the array segment
      Parameters:
      array - (Input) source array
      offset - first index
      length - number of elements to copy
    • setTo

      public DogArray_I32 setTo​(int... src)
      Set's the value of this array to the passed in raw array.
      Parameters:
      src - (Input) The input array
      Returns:
      A reference to "this" to allow chaining of commands
    • toArray

      public int[] toArray()
      Creates a new primitive array which is a copy.
    • remove

      public void remove​(int index)
    • remove

      public void remove​(int first, int last)
      Removes elements from the list starting at 'first' and ending at 'last'
      Parameters:
      first - First index you wish to remove. Inclusive.
      last - Last index you wish to remove. Inclusive.
    • insert

      public void insert​(int index, int value)
      Inserts the value at the specified index and shifts all the other values down.
    • removeSwap

      public int removeSwap​(int index)
      Removes the specified index from the array by swapping it with last element. Does not preserve order but has a runtime of O(1).
      Parameters:
      index - The index to be removed.
      Returns:
      The removed object
    • removeTail

      public int removeTail()
    • get

      public int get​(int index)
    • getTail

      public int getTail()
    • getTail

      public int getTail​(int index)
      Returns an element starting from the end of the list. 0 = size -1
    • setTail

      public void setTail​(int index, int value)
    • getFraction

      public int getFraction​(double fraction)
      Gets the value at the index which corresponds to the specified fraction
      Parameters:
      fraction - 0 to 1 inclusive
      Returns:
      value at fraction
    • unsafe_get

      public int unsafe_get​(int index)
    • set

      public void set​(int index, int value)
    • setTo

      public void setTo​(DogArray_I32 original)
      Description copied from interface: DogArrayPrimitive
      Turns 'this' into a copy of 'original'
      Specified by:
      setTo in interface DogArrayPrimitive<DogArray_I32>
      Parameters:
      original - queue that is to be copied
    • resize

      public void resize​(int size)
      Description copied from interface: DogArrayPrimitive
      Ensures that the internal array is at least this size. Value of elements previously in the array will not be changed. If the size is increased then the value of new elements in undefined. If you wish to resize the array and avoid copying over past values for performance reasons, then you must either resize(0) or call DogArrayPrimitive.reset() first.
      Specified by:
      resize in interface DogArrayPrimitive<DogArray_I32>
      Parameters:
      size - desired new size
    • resize

      public void resize​(int size, int value)
      Resizes the array and assigns the default value to every new element.
      Parameters:
      size - New size
      value - Default value
    • resetResize

      public void resetResize​(int size, int value)
      Convenience function that will first call reset() then resize(int, int), ensuring that every element in the array will have the specified value
      Parameters:
      size - New size
      value - New value of every element
    • resize

      public void resize​(int size, DogLambdas.AssignIdx_I32 op)
      Resizes and assigns the new elements (if any) to the value specified by the lambda
      Parameters:
      size - New sie
      op - Assigns default values
    • fill

      public void fill​(int value)
    • fill

      public void fill​(int idx0, int idx1, int value)
    • contains

      public boolean contains​(int value)
    • extend

      public void extend​(int size)
      Description copied from interface: DogArrayPrimitive
      Changes the array to the specified size. If there is not enough storage, a new internal array is created and the elements copied over. This is the same as: a.reserve(size);a.size = size;
      Specified by:
      extend in interface DogArrayPrimitive<DogArray_I32>
      Parameters:
      size - desired new size
    • reserve

      public void reserve​(int amount)
      Description copied from interface: DogArrayPrimitive
      Ensures that the internal array's length is at least this size. Size is left unchanged. If the array is not empty and it needs to grow then the existing array is copied into the new array.
      Specified by:
      reserve in interface DogArrayPrimitive<DogArray_I32>
      Parameters:
      amount - minimum size of internal array
    • size

      public int size()
      Description copied from interface: DogArrayPrimitive
      Number of elements in the queue
      Specified by:
      size in interface DogArrayPrimitive<DogArray_I32>
      Returns:
      size of queue
    • zero

      public void zero()
      Description copied from interface: DogArrayPrimitive
      Sets all elements to 0 or False for binary queues
      Specified by:
      zero in interface DogArrayPrimitive<DogArray_I32>
    • copy

      public DogArray_I32 copy()
      Specified by:
      copy in interface DogArrayPrimitive<DogArray_I32>
    • flip

      public void flip()
      Description copied from interface: DogArrayPrimitive
      Flips the elements such that a[i] = a[N-i-1] where N is the number of elements.
      Specified by:
      flip in interface DogArrayPrimitive<DogArray_I32>
    • pop

      public int pop()
    • indexOf

      public int indexOf​(int value)
      Returns the index of the first element with the specified 'value'. return -1 if it wasn't found
      Parameters:
      value - Value to search for
      Returns:
      index or -1 if it's not in the list
    • indexOfGreatest

      public int indexOfGreatest()
    • indexOfLeast

      public int indexOfLeast()
    • sort

      public void sort()
      Description copied from interface: DogArrayPrimitive
      Sorts the data from smallest to largest
      Specified by:
      sort in interface DogArrayPrimitive<DogArray_I32>
    • sort

      public void sort​(QuickSort_S32 sorter)
      Sort but with a re-usable sorter to avoid declaring new memory
    • forIdx

      public void forIdx​(DogArray_I32.FunctionEachIdx func)
    • forEach

      public void forEach​(DogArray_I32.FunctionEach func)
    • applyIdx

      public void applyIdx​(DogArray_I32.FunctionApplyIdx func)
    • count

      public int count​(DogArray_I32.Filter filter)