Class MatrixMap.Matrix<E>

java.lang.Object
org.nuiton.util.MatrixMap.Matrix<E>
Type Parameters:
E - FIXME
All Implemented Interfaces:
java.lang.Iterable<E>
Enclosing interface:
MatrixMap<E>

public static class MatrixMap.Matrix<E>
extends java.lang.Object
implements java.lang.Iterable<E>
Objet matrice qui ne permet que le stockage avec des positions int dans une matrice a autant de dimension que l'on souhaite.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected MatrixMap.Vector<E> data
    La matrice en représentation linéaire
    protected int[] dimensions
    Les dimensions de la matrice
    protected int[] linearFactor
    tableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice
  • Constructor Summary

    Constructors 
    Constructor Description
    Matrix​(int[] dimensions)
    Crée une nouvelle matrice ayant les dimensions demandées.
  • Method Summary

    Modifier and Type Method Description
    protected void checkDim​(int dim)
    Permet de vérifier qu'une dimension demandé existe bien dans la matrice
    protected void checkDim​(int[] dim)
    Permet de vérifier que les dimensions de la nouvelle matrice sont corrects
    protected void checkPos​(int[] pos)
    Verifie que les coordonnées demandé appartiennent bien à la matrice
    protected int coordonatesToLinear​(int[] coordonates)
    Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.
    boolean equals​(java.lang.Object o)  
    int[] getDim()
    Retourne un tableau representant les dimensions de la matrice.
    int getDim​(int dim)
    Retourne la taille d'une dimension
    int getNbDim()
    Retourne le nombre de dimension de la matrice
    E getValue​(int[] pos)
    Retourne un element de la matrice
    MatrixMap.MatrixIterator<E> iterator()
    Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.
    protected int[] linearToCoordinates​(int pos)
    Convertie une coordonnée lineaire en coordonnées spaciales
    void map​(MatrixMap.MapFunction f)
    Permet de faire un traitement sur chaque valeur de la matrice
    void setValue​(int[] pos, E value)
    Modifie un élement de la matrice
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Field Details

    • dimensions

      protected int[] dimensions
      Les dimensions de la matrice
    • data

      protected MatrixMap.Vector<E> data
      La matrice en représentation linéaire
    • linearFactor

      protected int[] linearFactor
      tableau de facteur permettant de convertir les coordonnées dans la matrice en un indice dans la représentation linéaire de la matrice
  • Constructor Details

    • Matrix

      public Matrix​(int[] dimensions)
      Crée une nouvelle matrice ayant les dimensions demandées.
      Parameters:
      dimensions - dimensions
  • Method Details

    • getNbDim

      public int getNbDim()
      Retourne le nombre de dimension de la matrice
      Returns:
      le nombre de dimension de la matrice;
    • getDim

      public int getDim​(int dim)
      Retourne la taille d'une dimension
      Parameters:
      dim - la dimension dont on souhaite la taille
      Returns:
      la taille d'une dimension
    • getDim

      public int[] getDim()
      Retourne un tableau representant les dimensions de la matrice. Le tableau retourné n'est pas une copie, il ne faut donc pas le modifier
      Returns:
      le tableau des dimensions.
    • getValue

      public E getValue​(int[] pos)
      Retourne un element de la matrice
      Parameters:
      pos - la position de l'element à retourner
      Returns:
      un element de la matrice
    • setValue

      public void setValue​(int[] pos, E value)
      Modifie un élement de la matrice
      Parameters:
      pos - la position de l'element à modifier
      value - la nouvelle valeur à mettre dans la matrice
    • iterator

      public MatrixMap.MatrixIterator<E> iterator()
      Retourne un objet Inc pret a etre utilisé pour boucler sur tous les element de la matrice.
      Specified by:
      iterator in interface java.lang.Iterable<E>
      Returns:
      un objet Inc pret à être utilisé
    • map

      public void map​(MatrixMap.MapFunction f)
      Permet de faire un traitement sur chaque valeur de la matrice
      Parameters:
      f - la fonction a appliquer à chaque élement de la matrice
    • coordonatesToLinear

      protected int coordonatesToLinear​(int[] coordonates)
      Permet de convertir les coordonnées d'un élément en un indice dans la représentation linéraire de la matrice.
      Parameters:
      coordonates - les coordonnées à lineariser
      Returns:
      un indice réprésentant les coordonnées de façon linéaire
    • linearToCoordinates

      protected int[] linearToCoordinates​(int pos)
      Convertie une coordonnée lineaire en coordonnées spaciales
      Parameters:
      pos - la coordonnée linéaire
      Returns:
      les coordonnées spaciales de l'élément
    • checkDim

      protected void checkDim​(int[] dim)
      Permet de vérifier que les dimensions de la nouvelle matrice sont corrects
      Parameters:
      dim - les dimensions de la nouvelle matrice
      Throws:
      java.lang.IllegalArgumentException - si une dimension n'est pas valide
    • checkDim

      protected void checkDim​(int dim)
      Permet de vérifier qu'une dimension demandé existe bien dans la matrice
      Parameters:
      dim - la position de la dimension que l'on souhaite
      Throws:
      java.lang.IndexOutOfBoundsException - si la dimension demandée n'existe pas
    • checkPos

      protected void checkPos​(int[] pos)
      Verifie que les coordonnées demandé appartiennent bien à la matrice
      Parameters:
      pos - les coordonnées souhaitées dans la matrice
      Throws:
      java.util.NoSuchElementException - si les coordonnées ne correspondent pas à un élement de la matrice
    • toString

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

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