E
- FIXMEpublic static class MatrixMap.MatrixMapElastic<E> extends Object implements MatrixMap<E>
Cette classe fonctionne avec une matrice interne que l'on change lorsque l'on a besoin de modifier les dimensions. Le changement de dimension a donc un cout (creation d'une nouvelle matrice, copie des elements)
Si on cree une sous matrice, et que l'on modifie la matrice mere La sous matrice n'est pas impacter, puisqu'elle est base sur l'ancienne represention interne de la matrice elastique, les deux matrices n'ont donc plus de lien.
Les methodes reduce et extend retourne de nouvelle matrice qui ne sont pas elastique. Si on veut qu'elle le soit, il faut les reencapsuler
MatrixMap.AbstractMatrixMap<E>, MatrixMap.Factory, MatrixMap.MapFunction<E>, MatrixMap.Matrix<E>, MatrixMap.MatrixHelper, MatrixMap.MatrixIterator<E>, MatrixMap.MatrixMapElastic<E>, MatrixMap.MatrixMapFixed<E>, MatrixMap.MatrixMapIterator<E>, MatrixMap.MatrixMapIteratorImpl<E>, MatrixMap.SemanticList<T>, MatrixMap.SubMatrix<E>, MatrixMap.Vector<E>
Modifier and Type | Field and Description |
---|---|
protected MatrixMap<E> |
internalMatrixMap |
Constructor and Description |
---|
MatrixMapElastic() |
MatrixMapElastic(MatrixMap<E> m) |
Modifier and Type | Method and Description |
---|---|
MatrixMap<E> |
copy()
Copy la matrice pour pouvoir la modifier sans perdre les donnees
initiales.
|
boolean |
equals(MatrixMap mat)
Verifie que deux matrices sont completement equals
(dimension, semantique, nom, valeur, ...)
|
boolean |
equals(Object obj) |
boolean |
equalsValues(MatrixMap<E> mat)
Verifie si les matrices sont egales en ne regardant que les valeurs et
pas les semantiques
|
MatrixMap<E> |
extend(Object... sems)
Permet de retourner une nouvelle matrice ayant les semantiques passées
en parametre.
|
int[] |
getDim() |
int |
getDim(int d) |
int |
getDimCount() |
String |
getDimensionName(int dim) |
String[] |
getDimensionNames() |
MatrixMap<E> |
getInternalMatrixMap() |
String |
getName() |
MatrixMap.SemanticList |
getSemantic(int dim) |
MatrixMap.SemanticList[] |
getSemantics() |
MatrixMap<E> |
getSubMatrix(int dim,
Object... elem)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixMap<E> |
getSubMatrix(int dim,
Object start,
int nb)
Permet de prendre une sous matrice dans la matrice courante.
|
MatrixMap<E> |
getSubMatrix(Object[]... elems)
Permet de prendre une sous matrice dans la matrice courante.
|
E |
getValue(Object... coordinates)
Retourne l'element a une certaine position en utilisant les semantiques
|
E |
getValueIndex(int... coordinates)
Retourne l'element a une certaine position en utilisant des indices
ex: 2,3,1
|
boolean |
isValidCoordinates(Object[] semantics)
Indique si les semantiques passées en argument sont valable pour la
matrice courante
|
MatrixMap.MatrixMapIterator<E> |
iterator() |
MatrixMap<E> |
map(MatrixMap.MapFunction<E> f)
Applique sur chaque element de la matrice la fonction f
|
MatrixMap |
paste(MatrixMap<E> mat)
Copie une matrice dans la matrice actuelle.
|
MatrixMap<E> |
reduce()
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
MatrixMap<E> |
reduce(int minNbDim)
Reduit la matrice de sorte que toutes les dimensions qui n'ont qu'un
élement soit supprimée.
|
MatrixMap<E> |
reduceDims(int... dims)
Reduit le matrice seulement sur les dimensions passées en argument.
|
void |
setDimensionName(int dim,
String name) |
void |
setDimensionNames(String[] names) |
void |
setInternalMatrixMap(MatrixMap<E> internalMatrixMap) |
void |
setName(String name) |
void |
setSemantic(int dim,
List sem) |
void |
setValue(E value,
Object... coordinates)
Modifie l'element a une certaine position en utilisant les semantiques
|
void |
setValueIndex(E value,
int... coordinates)
Modifie l'element a une certaine position en utilisant des indices
ex: 2,3,1
|
String |
toString() |
String |
toStringGeneric()
Representation string de la matrice quelque soit le nombre de dimension
|
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public MatrixMap.MatrixMapIterator<E> iterator()
public MatrixMap<E> copy()
MatrixMap
public MatrixMap.SemanticList[] getSemantics()
getSemantics
in interface MatrixMap<E>
public MatrixMap.SemanticList getSemantic(int dim)
getSemantic
in interface MatrixMap<E>
public void setSemantic(int dim, List sem)
setSemantic
in interface MatrixMap<E>
public String[] getDimensionNames()
getDimensionNames
in interface MatrixMap<E>
public void setDimensionNames(String[] names)
setDimensionNames
in interface MatrixMap<E>
public void setDimensionName(int dim, String name)
setDimensionName
in interface MatrixMap<E>
public String getDimensionName(int dim)
getDimensionName
in interface MatrixMap<E>
public int getDimCount()
getDimCount
in interface MatrixMap<E>
public MatrixMap<E> map(MatrixMap.MapFunction<E> f)
MatrixMap
public E getValueIndex(int... coordinates)
MatrixMap
getValueIndex
in interface MatrixMap<E>
coordinates
- FIXMEpublic void setValueIndex(E value, int... coordinates)
MatrixMap
setValueIndex
in interface MatrixMap<E>
value
- la nouvelle valeurcoordinates
- FIXMEpublic E getValue(Object... coordinates)
MatrixMap
public void setValue(E value, Object... coordinates)
MatrixMap
public boolean equals(MatrixMap mat)
MatrixMap
public boolean equalsValues(MatrixMap<E> mat)
MatrixMap
equalsValues
in interface MatrixMap<E>
mat
- FIXMEpublic String toStringGeneric()
MatrixMap
toStringGeneric
in interface MatrixMap<E>
public boolean isValidCoordinates(Object[] semantics)
MatrixMap
isValidCoordinates
in interface MatrixMap<E>
semantics
- FIXMEpublic MatrixMap paste(MatrixMap<E> mat)
MatrixMap
public MatrixMap<E> getSubMatrix(int dim, Object start, int nb)
MatrixMap
getSubMatrix
in interface MatrixMap<E>
dim
- la dimension dans lequel on veut une sous matricestart
- la position dans dim d'ou il faut partir pour prendre la
sous matrice. 0 ≤ start < dim.size si start est négatif alors
la position de départ est calculé par rapport à la fin de la
dimension, pour avoir le dernier élément il faut passer -1nb
- le nombre d'élément à prendre dans la dimension si nb est
inférieur ou égal à 0 alors cela indique qu'il faut prendre
tous les éléments jusqu'à la fin de la dimension.public MatrixMap<E> getSubMatrix(int dim, Object... elem)
MatrixMap
getSubMatrix
in interface MatrixMap<E>
dim
- la dimension dans lequel on veut une sous matriceelem
- les éléments dans la dimension à conserverpublic MatrixMap<E> getSubMatrix(Object[]... elems)
MatrixMap
Réalise plusieurs appels à MatrixMap.getSubMatrix(int, Object...)
suivant
l'implémentation.
getSubMatrix
in interface MatrixMap<E>
elems
- les éléments dans la dimension à conserverpublic MatrixMap<E> reduce()
MatrixMap
public MatrixMap<E> reduceDims(int... dims)
MatrixMap
reduceDims
in interface MatrixMap<E>
dims
- les dimensions sur lequel il faut faire la reductionpublic MatrixMap<E> reduce(int minNbDim)
MatrixMap
Copyright © 2004–2020 CodeLutin. All rights reserved.