Class PlainArray<N extends Comparable<N>>

All Implemented Interfaces:
RandomAccess, Access1D<N>, Access1D.Aggregatable<N>, Access1D.Collectable<N,Mutate1D>, Access1D.Visitable<N>, Factory1D.Builder<DenseArray<N>>, Mutate1D, Mutate1D.Fillable<N>, Mutate1D.Modifiable<N>, Structure1D
Direct Known Subclasses:
BufferArray, PrimitiveArray, ReferenceTypeArray

public abstract class PlainArray<N extends Comparable<N>> extends DenseArray<N> implements RandomAccess
Array class limited by integer (int, not long) indices. Typically this will be a plain java array as in double[]. This class terminates/implements all methods with long arguments, casts the long arguments to int and delegates to new protected abstract methods with the int arguments. No new public methods are declared here.
  • Field Details

    • MAX_SIZE

      public static final int MAX_SIZE
      Exists as a private constant in ArrayList. The Oracle JVM seems to actually be limited at Integer.MAX_VALUE - 2, but other JVM:s may have different limits.
      See Also:
    • CHARACTERISTICS

      static final int CHARACTERISTICS
      See Also:
    • mySize

      private final int mySize
  • Constructor Details

  • Method Details

    • add

      public final void add(long index, byte addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, Comparable<?> addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, double addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, float addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, int addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, long addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • add

      public final void add(long index, short addend)
      Specified by:
      add in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • byteValue

      public abstract byte byteValue(int index)
      Specified by:
      byteValue in interface Access1D<N extends Comparable<N>>
    • byteValue

      public final byte byteValue(long index)
      Specified by:
      byteValue in interface Access1D<N extends Comparable<N>>
    • count

      public final long count()
      Description copied from interface: Structure1D
      The total number of elements in this structure.

      You only need to implement this method if the structure can contain more than Integer.MAX_VALUE elements.

      Specified by:
      count in interface Structure1D
    • doubleValue

      public double doubleValue(int index)
      Specified by:
      doubleValue in interface Access1D<N extends Comparable<N>>
    • doubleValue

      public final double doubleValue(long index)
      Specified by:
      doubleValue in interface Access1D<N extends Comparable<N>>
    • fillAll

      public final void fillAll(N number)
      Specified by:
      fillAll in interface Mutate1D.Fillable<N extends Comparable<N>>
    • fillAll

      public final void fillAll(NullaryFunction<?> supplier)
      Specified by:
      fillAll in interface Mutate1D.Fillable<N extends Comparable<N>>
    • fillRange

      public final void fillRange(long first, long limit, N number)
      Specified by:
      fillRange in interface Mutate1D.Fillable<N extends Comparable<N>>
    • fillRange

      public final void fillRange(long first, long limit, NullaryFunction<?> supplier)
      Specified by:
      fillRange in interface Mutate1D.Fillable<N extends Comparable<N>>
    • floatValue

      public abstract float floatValue(int index)
      Specified by:
      floatValue in interface Access1D<N extends Comparable<N>>
    • floatValue

      public final float floatValue(long index)
      Specified by:
      floatValue in interface Access1D<N extends Comparable<N>>
    • get

      public final N get(long index)
      Specified by:
      get in interface Access1D<N extends Comparable<N>>
    • intValue

      public int intValue(int index)
      Specified by:
      intValue in interface Access1D<N extends Comparable<N>>
    • intValue

      public final int intValue(long index)
      Specified by:
      intValue in interface Access1D<N extends Comparable<N>>
    • longValue

      public long longValue(int index)
      Specified by:
      longValue in interface Access1D<N extends Comparable<N>>
    • longValue

      public final long longValue(long index)
      Specified by:
      longValue in interface Access1D<N extends Comparable<N>>
    • modifyOne

      public final void modifyOne(long index, UnaryFunction<N> modifier)
      Specified by:
      modifyOne in interface Mutate1D.Modifiable<N extends Comparable<N>>
    • set

      public void set(int index, byte value)
      Specified by:
      set in interface Mutate1D
    • set

      public abstract void set(int index, double value)
      Specified by:
      set in interface Mutate1D
    • set

      public void set(int index, float value)
      Specified by:
      set in interface Mutate1D
    • set

      public void set(int index, int value)
      Specified by:
      set in interface Mutate1D
    • set

      public abstract void set(int index, long value)
      Specified by:
      set in interface Mutate1D
    • set

      public void set(int index, short value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, byte value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, Comparable<?> number)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, double value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, float value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, int value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, long value)
      Specified by:
      set in interface Mutate1D
    • set

      public final void set(long index, short value)
      Specified by:
      set in interface Mutate1D
    • shortValue

      public short shortValue(int index)
      Specified by:
      shortValue in interface Access1D<N extends Comparable<N>>
    • shortValue

      public final short shortValue(long index)
      Specified by:
      shortValue in interface Access1D<N extends Comparable<N>>
    • size

      public final int size()
      Description copied from interface: Structure1D
      The total number of elements in this structure.
      Specified by:
      size in interface Structure1D
    • visitOne

      public final void visitOne(long index, VoidFunction<N> visitor)
      Specified by:
      visitOne in interface Access1D.Visitable<N extends Comparable<N>>
    • isSmall

      private final boolean isSmall(int first, int limit, int step, double comparedTo)
    • add

      protected void add(int index, byte addend)
    • add

      protected abstract void add(int index, Comparable<?> addend)
    • add

      protected abstract void add(int index, double addend)
    • add

      protected void add(int index, float addend)
    • add

      protected void add(int index, int addend)
    • add

      protected void add(int index, long addend)
    • add

      protected void add(int index, short addend)
    • exchange

      protected abstract void exchange(int firstA, int firstB, int step, int count)
    • exchange

      protected final void exchange(long firstA, long firstB, long step, long count)
      Overrides:
      exchange in class BasicArray<N extends Comparable<N>>
    • fill

      protected abstract void fill(int first, int limit, int step, N value)
    • fill

      protected abstract void fill(int first, int limit, int step, NullaryFunction<?> supplier)
    • fill

      protected final void fill(long first, long limit, long step, N value)
      Overrides:
      fill in class BasicArray<N extends Comparable<N>>
    • fill

      protected final void fill(long first, long limit, long step, NullaryFunction<?> supplier)
      Overrides:
      fill in class BasicArray<N extends Comparable<N>>
    • fillOne

      protected abstract void fillOne(int index, Access1D<?> values, long valueIndex)
    • fillOne

      protected abstract void fillOne(int index, N value)
    • fillOne

      protected abstract void fillOne(int index, NullaryFunction<?> supplier)
    • get

      protected abstract N get(int index)
    • indexOfLargest

      protected abstract int indexOfLargest(int first, int limit, int step)
    • indexOfLargest

      protected final long indexOfLargest(long first, long limit, long step)
      Overrides:
      indexOfLargest in class BasicArray<N extends Comparable<N>>
    • isAbsolute

      protected abstract boolean isAbsolute(int index)
      See Also:
    • isSmall

      protected abstract boolean isSmall(int index, double comparedTo)
      See Also:
    • modify

      protected abstract void modify(int first, int limit, int step, Access1D<N> left, BinaryFunction<N> function)
    • modify

      protected abstract void modify(int first, int limit, int step, BinaryFunction<N> function, Access1D<N> right)
    • modify

      protected abstract void modify(int first, int limit, int step, UnaryFunction<N> function)
    • modify

      protected final void modify(long first, long limit, long step, Access1D<N> left, BinaryFunction<N> function)
      Overrides:
      modify in class BasicArray<N extends Comparable<N>>
    • modify

      protected final void modify(long first, long limit, long step, BinaryFunction<N> function, Access1D<N> right)
      Overrides:
      modify in class BasicArray<N extends Comparable<N>>
    • modify

      protected final void modify(long first, long limit, long step, UnaryFunction<N> function)
      Overrides:
      modify in class BasicArray<N extends Comparable<N>>
    • modifyOne

      protected abstract void modifyOne(int index, UnaryFunction<N> modifier)
    • searchAscending

      protected abstract int searchAscending(N number)
    • set

      protected abstract void set(int index, Comparable<?> number)
    • sortAscending

      protected abstract void sortAscending()
    • sortDescending

      protected abstract void sortDescending()
    • visit

      protected abstract void visit(int first, int limit, int step, VoidFunction<N> visitor)
    • visit

      protected final void visit(long first, long limit, long step, VoidFunction<N> visitor)
      Overrides:
      visit in class BasicArray<N extends Comparable<N>>
    • visitOne

      protected abstract void visitOne(int index, VoidFunction<N> visitor)