Le Jeudi 23 Janvier 2003 14:39, Aurelien Mazurie a �crit :

>      public Object getValueAt (int row, int column)
>       {
>        return _cellValues.get(new MatrixElement(row, column));
>       }

Mouais, vu la classe MatrixElement et sa red�finition du hashCode cela 
fonctionne, mais j'ai peur que le rem�de soit pire que le mal !

En effet, en cr�ant un nouvel objet pour chaque cellule tu risques de 
surcharger compl�tement l'utilisation de la m�moire, tant au niveau de 
l'allocation que du ramasse-miette. Si le tableau est grand et gros, cela 
peut aller tr�s vite.

Mais il me semble que ce code pourrait �tre optimis� simplement en utilisant � 
chaque fois le m�me objet MatrixElement, � condition de le rendre muable. On 
aurait un truc du style

_cellValues.get(matrixElement.setRowCol(row, column));

Au .get le code de la HashMap recalcule le hashcode de la matrixElement, et je 
pense que �a peut marcher en optimisant vitesse et m�moire. Certes ce n'est 
pas bon d'utiliser un objet muable comme clef de HashMap, mais...

Ce qui m'�tonne c'est que, sauf erreur, ce code renvoit null si la clef 
n'existe pas. Je ne savais pas que getValueAt pouvait renvoyer une valeur 
nulle. La JTable affiche une case blanche, dans ce cas ?

A+.

-- 
SARL diaam informatique - 04 50 77 12 60
Ingenierie, d�veloppements de syst�mes d'information
http://www.diaam-informatique.com

Répondre à