Créer un tableau 2colonnes de 2 types différents ?
Bonjour,
Je voudrais stocker dans un tableau ou une structure Un objet Rectangle associée à un entier.
J'avais penser à une table de hashage mais mon entier peut etre le même pour différent rectangle.
Je veux utiliser ceci pour après pouvoir parcourir tout les éléments du tableau et les afficher....
Autrement je peux faire 2 tableaux différents, et récupéré mon rectangle et mon entier grâce à l'index, mais il y a peut être une solution plsu propore.
RQ : Par contre, les rectangles ne seront jamais identique...
Re: Créer un tableau 2colonnes de 2 types différents ?
Salut,
Tu as plusieurs solutions :
- Utiliser une Map avec tes rectangles comme clef puisqu'ils sont toujours différents (dans ce cas il faut penser à implémenter les méthodes equals() et hashCode()).
Cette solution est intérressante si tu as besoin de d'accéder aux valeurs depuis un objet Rectangle.
- Utiliser un tableau d'Object à deux dimensions, en utilisant la classe wrapper Integer au lieu du type primitif int :
Code:
1 2 3
| Object[][] tab = new Object[2][];
tab[0] = new Rectangle[50];
tab[1] = new Integer[50]; |
Toutefois c'est assez complexe à manier... La solution des deux tableaux distinct serait preférable...
- Utiliser une classe conteneur qui associera les deux :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| public class Association {
private final Rectangle rectangle;
private final int value;
public Association (Rectangle pRectangle, pValue) {
this.rectangle = pRectangle;
this.value = pValue;
}
public Rectangle getRectangle() { return this.rectangle; }
public int getValue() { return this.value; }
} |
C'est à mon sens la solution qui apporte le plus d'avantage... Elle est simple, évolutive, et tu peux l'utiliser simplement dans n'importe quel type de collection ;)
a++
[edit] grillé par Alwin... :cry: :lol: