Package ch.systemsx.cisd.base.mdarray
Class MDLongArray
- java.lang.Object
-
- ch.systemsx.cisd.base.mdarray.MDAbstractArray<java.lang.Long>
-
- ch.systemsx.cisd.base.mdarray.MDLongArray
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<MDAbstractArray.ArrayEntry>
public final class MDLongArray extends MDAbstractArray<java.lang.Long>
A multi-dimensionallong
array.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ch.systemsx.cisd.base.mdarray.MDAbstractArray
MDAbstractArray.ArrayEntry
-
-
Field Summary
-
Fields inherited from class ch.systemsx.cisd.base.mdarray.MDAbstractArray
capacityHyperRows, dimensions, hyperRowLength, size
-
-
Constructor Summary
Constructors Constructor Description MDLongArray(int[] dimensions)
Creates an emptyMDLongArray
with the dimensions.MDLongArray(int[] dimensions, int capacityHyperRows)
Creates an emptyMDLongArray
with the dimensions.MDLongArray(long[] dimensions)
Creates an emptyMDIntArray
with the dimensions.MDLongArray(long[][] matrix)
Creates aMDLongArray
from the given matrix of rank 2.MDLongArray(long[][] matrix, int[] dimensions)
Creates aMDLongArray
from the given matrix of rank 2 and the dimension which need to be less or equal the dimensions of matrix.MDLongArray(long[] flattenedArray, int[] dimensions)
MDLongArray(long[] flattenedArray, int[] dimensions, boolean checkdimensions)
Creates aMDLongArray
from the given flattenedArray and dimensions.MDLongArray(long[] dimensions, long capacityHyperRows)
Creates an emptyMDLongArray
with the dimensions.MDLongArray(long[] flattenedArray, long[] dimensions)
MDLongArray(long[] flattenedArray, long[] dimensions, boolean checkdimensions)
Creates aMDLongArray
from the given flattenedArray and dimensions.MDLongArray(MDLongArray template)
Creates an independent copy (clone) of the template provided.
-
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.MDLongArray
clone()
boolean
equals(java.lang.Object obj)
long
get(int index)
Returns the value of a one-dimensional array at the position defined by index.long
get(int... indices)
Returns the value of array at the position defined by indices.long
get(int indexX, int indexY)
Returns the value of a two-dimensional array at the position defined by indexX and indexY.long
get(int indexX, int indexY, int indexZ)
Returns the value of a three-dimensional array at the position defined by indexX, indexY and indexZ.long[]
getAsFlatArray()
Returns the array in flattened form.java.lang.Long
getAsObject(int linearIndex)
Return an object which has the same value as the element of the array specified by linearIndex.java.lang.Long
getAsObject(int... indices)
Return an object which has the same value as the element of the array specified by indices.long[]
getCopyAsFlatArray()
Returns a copy of the array in flattened form.int
hashCode()
void
set(long value, int index)
Sets the value of a one-dimension array at the position defined by index.void
set(long value, int... indices)
Sets the value of array at the position defined by indices.void
set(long value, int indexX, int indexY)
Sets the value of a two-dimensional array at the position defined by indexX and indexY.void
set(long 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(java.lang.Long value, int linearIndex)
Sets the element of the array specified by linearIndex to the particular value.void
setToObject(java.lang.Long value, int... indices)
Sets the element of the array specified by indices to the particular value.long[][]
toMatrix()
Creates and returns a matrix from a two-dimensional array.-
Methods inherited from class ch.systemsx.cisd.base.mdarray.MDAbstractArray
computeHyperRowLength, computeIndex, computeIndex, computeIndex, computeReverseIndex, decNumberOfHyperRows, dimensions, getLength, getLength, getLength, getLength, incNumberOfHyperRows, iterator, longDimensions, numberOfHyperRows, rank, size, size, toInt, toLong, toString
-
-
-
-
Constructor Detail
-
MDLongArray
public MDLongArray(long[] dimensions)
Creates an emptyMDIntArray
with the dimensions. Convenience method if dimensions are available aslong[]
.
-
MDLongArray
public MDLongArray(long[] dimensions, long capacityHyperRows)
Creates an emptyMDLongArray
with the dimensions. IfcapacityHyperRows > dimensions[0]
, then it will create an array with a capacity of capacityHyperRows hyper-rows. Convenience method if dimensions are available aslong[]
.
-
MDLongArray
public MDLongArray(long[] flattenedArray, long[] dimensions)
Creates aMDLongArray
from the givenflattenedArray
anddimensions
. It is checked that the arguments are compatible. Convenience method if dimensions are available aslong[]
.
-
MDLongArray
public MDLongArray(long[] flattenedArray, long[] dimensions, boolean checkdimensions)
Creates aMDLongArray
from the given flattenedArray and dimensions. If checkDimensions istrue
, it is checked that the arguments are compatible. Convenience method if dimensions are available aslong[]
.
-
MDLongArray
public MDLongArray(int[] dimensions)
Creates an emptyMDLongArray
with the dimensions.
-
MDLongArray
public MDLongArray(int[] dimensions, int capacityHyperRows)
Creates an emptyMDLongArray
with the dimensions. IfcapacityHyperRows > dimensions[0]
, then it will create an array with a capacity of capacityHyperRows hyper-rows.
-
MDLongArray
public MDLongArray(long[] flattenedArray, int[] dimensions)
Creates aMDLongArray
from the givenflattenedArray
anddimensions
. It is checked that the arguments are compatible.
-
MDLongArray
public MDLongArray(long[] flattenedArray, int[] dimensions, boolean checkdimensions)
Creates aMDLongArray
from the given flattenedArray and dimensions. If checkDimensions istrue
, it is checked that the arguments are compatible.
-
MDLongArray
public MDLongArray(long[][] matrix)
Creates aMDLongArray
from the given matrix of rank 2. Note that the values in matrix will be copied and thus the createdMDIntArray
will be independent from matrix after construction.
-
MDLongArray
public MDLongArray(long[][] matrix, int[] dimensions)
Creates aMDLongArray
from the given matrix of rank 2 and the dimension which need to be less or equal the dimensions of matrix. Note that the values in matrix will be copied and thus the createdMDIntArray
will be independent from matrix after construction.
-
MDLongArray
public MDLongArray(MDLongArray template)
Creates an independent copy (clone) of the template provided.
-
-
Method Detail
-
capacity
public int capacity()
Description copied from class:MDAbstractArray
Returns the capacity of elements in the array.- Specified by:
capacity
in classMDAbstractArray<java.lang.Long>
-
getAsObject
public java.lang.Long 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 classMDAbstractArray<java.lang.Long>
-
setToObject
public void setToObject(java.lang.Long 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 classMDAbstractArray<java.lang.Long>
-
getAsObject
public java.lang.Long 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 classMDAbstractArray<java.lang.Long>
- Parameters:
linearIndex
- The index in the linear array returned byMDAbstractArray.getAsFlatArray()
.- Returns:
- The value at the specified index.
-
setToObject
public void setToObject(java.lang.Long 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 classMDAbstractArray<java.lang.Long>
- Parameters:
value
- The new value to set.linearIndex
- The index in the linear array returned byMDAbstractArray.getAsFlatArray()
.
-
getAsFlatArray
public long[] 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 classMDAbstractArray<java.lang.Long>
-
getCopyAsFlatArray
public long[] 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 classMDAbstractArray<java.lang.Long>
-
adaptCapacityHyperRows
protected void adaptCapacityHyperRows()
- Specified by:
adaptCapacityHyperRows
in classMDAbstractArray<java.lang.Long>
-
get
public long get(int... indices)
Returns the value of array at the position defined by indices.
-
get
public long 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 long 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 long 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(long value, int... indices)
Sets the value of array at the position defined by indices.
-
set
public void set(long 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(long 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(long 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!
-
toMatrix
public long[][] toMatrix()
Creates and returns a matrix from a two-dimensional array.Do not call for arrays other than two-dimensional!
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
clone
public MDLongArray clone()
- Overrides:
clone
in classjava.lang.Object
-
-