Class MDArray<T>

    • Constructor Summary

      Constructors 
      Constructor Description
      MDArray​(java.lang.Class<T> componentClass, int[] dimensions)
      Creates an empty MDArray with the dimensions.
      MDArray​(java.lang.Class<T> componentClass, int[] dimensions, int capacityHyperRows)
      Creates an empty MDArray with the dimensions.
      MDArray​(java.lang.Class<T> componentClass, long[] dimensions)
      Creates an empty MDArray with the dimensions.
      MDArray​(java.lang.Class<T> componentClass, long[] dimensions, long capacityHyperRows)
      Creates an empty MDArray with the dimensions.
      MDArray​(T[] flattenedArray, int[] dimensions)
      Creates a MDArray from the given flattenedArray and dimensions.
      MDArray​(T[] flattenedArray, int[] dimensions, boolean checkdimensions)
      Creates a MDArray from the given flattenedArray and dimensions.
      MDArray​(T[] flattenedArray, long[] dimensions)
      Creates a MDArray from the given flattenedArray and dimensions.
      MDArray​(T[] flattenedArray, long[] dimensions, boolean checkdimensions)
      Creates a MDArray from the given flattenedArray and dimensions.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void adaptCapacityHyperRows()  
      int capacity()
      Returns the capacity of elements in the array.
      boolean equals​(java.lang.Object obj)  
      T get​(int index)
      Returns the value of a one-dimensional array at the position defined by index.
      T get​(int... indices)
      Returns the value of array at the position defined by indices.
      T get​(int indexX, int indexY)
      Returns the value of a two-dimensional array at the position defined by indexX and indexY.
      T get​(int indexX, int indexY, int indexZ)
      Returns the value of a three-dimensional array at the position defined by indexX, indexY and indexZ.
      T[] getAsFlatArray()
      Returns the array in flattened form.
      T getAsObject​(int linearIndex)
      Return an object which has the same value as the element of the array specified by linearIndex.
      T getAsObject​(int... indices)
      Return an object which has the same value as the element of the array specified by indices.
      java.lang.Class<T> getComponentClass()
      Returns the component type of this array.
      T[] getCopyAsFlatArray()
      Returns a copy of the array in flattened form.
      int hashCode()  
      void set​(T value, int index)
      Sets the value of a one-dimension array at the position defined by index.
      void set​(T value, int... indices)
      Sets the value of array at the position defined by indices.
      void set​(T value, int indexX, int indexY)
      Sets the value of a two-dimensional array at the position defined by indexX and indexY.
      void set​(T value, int indexX, int indexY, int indexZ)
      Sets the value of a three-dimensional array at the position defined by indexX, indexY and indexZ.
      void setToObject​(T value, int linearIndex)
      Sets the element of the array specified by linearIndex to the particular value.
      void setToObject​(T value, int... indices)
      Sets the element of the array specified by indices to the particular value.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • MDArray

        public MDArray​(java.lang.Class<T> componentClass,
                       long[] dimensions)
        Creates an empty MDArray with the dimensions. Convenience method if dimensions are available as long[].
      • MDArray

        public MDArray​(java.lang.Class<T> componentClass,
                       long[] dimensions,
                       long capacityHyperRows)
        Creates an empty MDArray with the dimensions. If capacityHyperRows > dimensions[0], then it will create an array with a capacity of capacityHyperRows hyper-rows. Convenience method if dimensions are available as long[].
      • MDArray

        public MDArray​(T[] flattenedArray,
                       long[] dimensions)
        Creates a MDArray from the given flattenedArray and dimensions. It is checked that the arguments are compatible. Convenience method if dimensions are available as long[].
      • MDArray

        public MDArray​(T[] flattenedArray,
                       long[] dimensions,
                       boolean checkdimensions)
        Creates a MDArray from the given flattenedArray and dimensions. If checkDimensions is true, it is checked that the arguments are compatible. Convenience method if dimensions are available as long[].
      • MDArray

        public MDArray​(java.lang.Class<T> componentClass,
                       int[] dimensions)
        Creates an empty MDArray with the dimensions.
      • MDArray

        public MDArray​(java.lang.Class<T> componentClass,
                       int[] dimensions,
                       int capacityHyperRows)
        Creates an empty MDArray with the dimensions. If capacityHyperRows > dimensions[0], then it will create an array with a capacity of capacityHyperRows hyper-rows.
      • MDArray

        public MDArray​(T[] flattenedArray,
                       int[] dimensions)
        Creates a MDArray from the given flattenedArray and dimensions. It is checked that the arguments are compatible.
      • MDArray

        public MDArray​(T[] flattenedArray,
                       int[] dimensions,
                       boolean checkdimensions)
        Creates a MDArray from the given flattenedArray and dimensions. If checkDimensions is true, it is checked that the arguments are compatible.
    • Method Detail

      • getAsObject

        public T getAsObject​(int... indices)
        Description copied from class: MDAbstractArray
        Return an object which has the same value as the element of the array specified by indices.
        Specified by:
        getAsObject in class MDAbstractArray<T>
      • setToObject

        public void setToObject​(T value,
                                int... indices)
        Description copied from class: MDAbstractArray
        Sets the element of the array specified by indices to the particular value.
        Specified by:
        setToObject in class MDAbstractArray<T>
      • getAsObject

        public T getAsObject​(int linearIndex)
        Description copied from class: MDAbstractArray
        Return an object which has the same value as the element of the array specified by linearIndex.
        Specified by:
        getAsObject in class MDAbstractArray<T>
        Parameters:
        linearIndex - The index in the linear array returned by MDAbstractArray.getAsFlatArray().
        Returns:
        The value at the specified index.
      • setToObject

        public void setToObject​(T value,
                                int linearIndex)
        Description copied from class: MDAbstractArray
        Sets the element of the array specified by linearIndex to the particular value.
        Specified by:
        setToObject in class MDAbstractArray<T>
        Parameters:
        value - The new value to set.
        linearIndex - The index in the linear array returned by MDAbstractArray.getAsFlatArray().
      • getAsFlatArray

        public T[] getAsFlatArray()
        Description copied from class: MDAbstractArray
        Returns the array in flattened form. Changes to the returned object will change the multi-dimensional array directly.
        Specified by:
        getAsFlatArray in class MDAbstractArray<T>
      • getCopyAsFlatArray

        public T[] getCopyAsFlatArray()
        Description copied from class: MDAbstractArray
        Returns a copy of the array in flattened form. Changes to the returned object will not change the multi-dimensional array directly.
        Specified by:
        getCopyAsFlatArray in class MDAbstractArray<T>
      • get

        public T get​(int... indices)
        Returns the value of array at the position defined by indices.
      • get

        public T get​(int index)
        Returns the value of a one-dimensional array at the position defined by index.

        Do not call for arrays other than one-dimensional!

      • get

        public T get​(int indexX,
                     int indexY)
        Returns the value of a two-dimensional array at the position defined by indexX and indexY.

        Do not call for arrays other than two-dimensional!

      • get

        public T get​(int indexX,
                     int indexY,
                     int indexZ)
        Returns the value of a three-dimensional array at the position defined by indexX, indexY and indexZ.

        Do not call for arrays other than three-dimensional!

      • set

        public void set​(T value,
                        int... indices)
        Sets the value of array at the position defined by indices.
      • set

        public void set​(T value,
                        int index)
        Sets the value of a one-dimension array at the position defined by index.

        Do not call for arrays other than one-dimensional!

      • set

        public void set​(T value,
                        int indexX,
                        int indexY)
        Sets the value of a two-dimensional array at the position defined by indexX and indexY.

        Do not call for arrays other than two-dimensional!

      • set

        public void set​(T value,
                        int indexX,
                        int indexY,
                        int indexZ)
        Sets the value of a three-dimensional array at the position defined by indexX, indexY and indexZ.

        Do not call for arrays other than three-dimensional!

      • getComponentClass

        public java.lang.Class<T> getComponentClass()
        Returns the component type of this array.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object