méthode la plus rapide pour afficher un (très) gros tableau

méthode la plus rapide pour afficher un (très) gros tableau - Java - Programmation

Marsh Posté le 11-06-2008 à 11:15:59    

Bonjour,
 
Je désire afficher le résultat d'un calcul dans un JTextPane ou une JTextArea. Ce résultat est un tableau de double de la forme suivante:  
rez[nb_de_points_calculés][1+nb_de_fonctions_du_système_d'équations].
 
Je désire transformer ce tableau en String pour l'afficher. Pour avoir une sortie du type:
 
result at t=t0     function0[t0]= double   ... functionN[t0]= double
...
result at t=tn     function[tn]= double   ... functionN[tn]= double
 
Pour avoir cette chaine de caractère, j'ai donc créé une fonction du style
 

Code :
  1. public String getComputResult(double[][] rez){
  2. String separator = getLineSeparator();
  3. String swapLine = separator+separator;
  4. String rez="";
  5. int i,j;
  6. int indiceT=rez[0].length-1;
  7. for (i=0;i<rez.length;i++){
  8. rez+=swapLine+"computed result at t = "+rez[i][indiceT]+" :"+separator;
  9.     for (j=0;j<rez[0].length-1;j++){
  10.         rez+="rez["+j+"] = "+rez[i][j]"+" ";
  11.      }
  12. }
  13. }


ça me semblait assez rapide, visiblement non, pour des tableaux de taille [50000][5] par exemple c'est excessivement lent.  
Avez-vous d'autres méthodes plus rapides pour afficher ce tableau sachant que la taille moyenne est entre [1000][1] et [50000][10] ?
 
Cordialement  :hello:  


Message édité par godbeni le 11-06-2008 à 11:17:30
Reply

Marsh Posté le 11-06-2008 à 11:15:59   

Reply

Marsh Posté le 16-06-2008 à 11:48:07    

Passe ta variable rez en StringBuffer ou StringBuilder initialisé à une taille assez grande.
 
Sinon est-ce que tu ne pourrait pas afficher ton résultat dans une JTable ? Tu n'aurais plus de problème de performance pour construire ton énorme chaine en passant par un TableModel...


---------------
Light is right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed