Class NumberList<N extends java.lang.Comparable<N>>

  • All Implemented Interfaces:
    java.lang.Iterable<N>, java.util.Collection<N>, java.util.List<N>, java.util.RandomAccess, Access1D<N>, Access1D.Visitable<N>, Mutate1D, Mutate1D.Mixable<N>, Structure1D

    public final class NumberList<N extends java.lang.Comparable<N>>
    extends java.lang.Object
    implements java.util.List<N>, java.util.RandomAccess, Access1D<N>, Access1D.Visitable<N>, Mutate1D, Mutate1D.Mixable<N>
    Think of this as an ArrayList that can only contain numbers, but with a few extra features. Among other things it can be arbitrarily large (using long indices rather than int) and contain primitive double values. And of course it integrates perfectly with everything else in ojAlgo.
    • Field Detail

      • myActualCount

        private long myActualCount
      • myDenseFactory

        private final DenseArray.Factory<N extends java.lang.Comparable<N>> myDenseFactory
      • myStorage

        private BasicArray<N extends java.lang.Comparable<N>> myStorage
    • Method Detail

      • add

        public boolean add​(double element)
      • add

        public void add​(int index,
                        N element)
        Specified by:
        add in interface java.util.List<N extends java.lang.Comparable<N>>
      • add

        public boolean add​(N element)
        Specified by:
        add in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        add in interface java.util.List<N extends java.lang.Comparable<N>>
      • addAll

        public boolean addAll​(java.util.Collection<? extends N> elements)
        Specified by:
        addAll in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        addAll in interface java.util.List<N extends java.lang.Comparable<N>>
      • addAll

        public boolean addAll​(double[] elements)
      • addAll

        public boolean addAll​(int index,
                              java.util.Collection<? extends N> elements)
        Specified by:
        addAll in interface java.util.List<N extends java.lang.Comparable<N>>
      • aggregateRange

        public N aggregateRange​(long first,
                                long limit,
                                Aggregator aggregator)
      • capacity

        public long capacity()
        The current capacity of the underlying data structure. The capacity is always greater than or equal to the current number of items in the list. When you add items to the list the capacity may have to grow.
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        clear in interface java.util.List<N extends java.lang.Comparable<N>>
      • contains

        public boolean contains​(java.lang.Object object)
        Specified by:
        contains in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        contains in interface java.util.List<N extends java.lang.Comparable<N>>
      • containsAll

        public boolean containsAll​(java.util.Collection<?> c)
        Specified by:
        containsAll in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        containsAll in interface java.util.List<N extends java.lang.Comparable<N>>
      • count

        public 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 java.lang.Comparable<N>>
      • doubleValue

        public double doubleValue​(long index)
        Specified by:
        doubleValue in interface Access1D<N extends java.lang.Comparable<N>>
      • get

        public N get​(int index)
        Specified by:
        get in interface java.util.List<N extends java.lang.Comparable<N>>
      • get

        public N get​(long index)
        Specified by:
        get in interface Access1D<N extends java.lang.Comparable<N>>
      • indexOf

        public int indexOf​(java.lang.Object object)
        Specified by:
        indexOf in interface java.util.List<N extends java.lang.Comparable<N>>
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        isEmpty in interface java.util.List<N extends java.lang.Comparable<N>>
      • iterator

        public java.util.Iterator<N> iterator()
        Specified by:
        iterator in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        iterator in interface java.lang.Iterable<N extends java.lang.Comparable<N>>
        Specified by:
        iterator in interface java.util.List<N extends java.lang.Comparable<N>>
      • lastIndexOf

        public int lastIndexOf​(java.lang.Object object)
        Specified by:
        lastIndexOf in interface java.util.List<N extends java.lang.Comparable<N>>
      • listIterator

        public java.util.ListIterator<N> listIterator()
        Specified by:
        listIterator in interface java.util.List<N extends java.lang.Comparable<N>>
      • listIterator

        public java.util.ListIterator<N> listIterator​(int index)
        Specified by:
        listIterator in interface java.util.List<N extends java.lang.Comparable<N>>
      • mix

        public double mix​(long index,
                          BinaryFunction<N> mixer,
                          double addend)
        Specified by:
        mix in interface Mutate1D.Mixable<N extends java.lang.Comparable<N>>
        Returns:
        The new/mixed value
      • remove

        public N remove​(int index)
        Specified by:
        remove in interface java.util.List<N extends java.lang.Comparable<N>>
      • remove

        public boolean remove​(java.lang.Object o)
        Specified by:
        remove in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        remove in interface java.util.List<N extends java.lang.Comparable<N>>
      • removeAll

        public boolean removeAll​(java.util.Collection<?> c)
        Specified by:
        removeAll in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        removeAll in interface java.util.List<N extends java.lang.Comparable<N>>
      • retainAll

        public boolean retainAll​(java.util.Collection<?> onlyKeep)
        Specified by:
        retainAll in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        retainAll in interface java.util.List<N extends java.lang.Comparable<N>>
      • set

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

        public N set​(int index,
                     N element)
        Specified by:
        set in interface java.util.List<N extends java.lang.Comparable<N>>
      • set

        public void set​(long index,
                        java.lang.Comparable<?> value)
        Specified by:
        set in interface Mutate1D
      • set

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

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

        public int size()
        Description copied from interface: Structure1D
        The total number of elements in this structure.
        Specified by:
        size in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        size in interface java.util.List<N extends java.lang.Comparable<N>>
        Specified by:
        size in interface Structure1D
      • subList

        public NumberList<N> subList​(int fromIndex,
                                     int toIndex)
        Specified by:
        subList in interface java.util.List<N extends java.lang.Comparable<N>>
      • toArray

        public java.lang.Object[] toArray()
        Specified by:
        toArray in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        toArray in interface java.util.List<N extends java.lang.Comparable<N>>
      • toArray

        public <T> T[] toArray​(T[] array)
        Specified by:
        toArray in interface java.util.Collection<N extends java.lang.Comparable<N>>
        Specified by:
        toArray in interface java.util.List<N extends java.lang.Comparable<N>>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • ensureCapacity

        private void ensureCapacity()