cs_futty
Messages postés11Date d'inscriptionlundi 14 février 2011StatutMembreDernière intervention18 mai 2011
-
16 mai 2011 à 22:53
labandus
Messages postés25Date d'inscriptionjeudi 14 décembre 2000StatutMembreDernière intervention25 juillet 2013
-
28 juin 2011 à 14:08
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
labandus
Messages postés25Date d'inscriptionjeudi 14 décembre 2000StatutMembreDernière intervention25 juillet 20131 28 juin 2011 à 14:08
:)
labandus
Messages postés25Date d'inscriptionjeudi 14 décembre 2000StatutMembreDernière intervention25 juillet 20131 28 juin 2011 à 14:08
bonne approche, l'idée d'abstraire les lignes d'iteration
for( i ; i < A.length. ; i++ )
for( j ; j < A.length. ; j ++ )
........
au profit d'un simple ligne
# for(int x=0; x<matrice.getValeurs().size(); x++){
# matrice.getValeurs().set(x, "a"+matrice.getValeurs().get(x));
# }
est louable. un 7/10 pour cette idée creative.
c plus facile à lire.
en fait en regardant de plus près ta classe Matrice ne se limiter qu'à recuperer les valeurs 2 dimensions (avec ce
" public T get(int i, int j){
return valeurs.get(nbColonnes*i+j);
}
")
comment feras tu donc pour un valeur... disons [0][3][2] ?
il faudrait donc mieux gerer les dimensions ?
bonne Prog
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 17 mai 2011 à 10:36
Tu te trompes, mais tu parles sans savoir.
Le problème des listes de dimension 2 c'est que lorsque tu créé une liste qui contient trois listes de trois éléments, 4 objets supplémentaires : trois sous listes et une liste globale.
Avec ma source, tu créé un seul objet supplémentaire : la liste des valeurs. Donc, tu allèges le travail du garbage collector.
Le parcourt de toutes les valeurs de la liste est plus rapide sur ma source puisque tu ne fait appel qu'à un objet et non à quatre.
cs_futty
Messages postés11Date d'inscriptionlundi 14 février 2011StatutMembreDernière intervention18 mai 2011 16 mai 2011 à 22:53
Utilité : zéro ! Je m'explique : Tout d'abord le langage Java et déjà lourd, lent et gourmand a la base ce qui implique que la création d'objets superflus alourdis encore plus le code pour au final pas grand chose. Etant donné qu'un parcours deux dimensions (ou plus) d'un tableau (2 dimensions ou plus ("répétition">figure de style : ou pas)) prendra moins de temps (ou cycle) que le fait la Class ici présente : elle en devient totalement inutile. Cependant je vous l'accorde le code appelant est certainement plus clair. Néanmoins, a sacrifier du temps, autant le faire lors de la programmation plutôt que d'en perdre lors de l’exécution !
Bien à vous,
28 juin 2011 à 14:08
28 juin 2011 à 14:08
for( i ; i < A.length. ; i++ )
for( j ; j < A.length. ; j ++ )
........
au profit d'un simple ligne
# for(int x=0; x<matrice.getValeurs().size(); x++){
# matrice.getValeurs().set(x, "a"+matrice.getValeurs().get(x));
# }
est louable. un 7/10 pour cette idée creative.
c plus facile à lire.
en fait en regardant de plus près ta classe Matrice ne se limiter qu'à recuperer les valeurs 2 dimensions (avec ce
" public T get(int i, int j){
return valeurs.get(nbColonnes*i+j);
}
")
comment feras tu donc pour un valeur... disons [0][3][2] ?
il faudrait donc mieux gerer les dimensions ?
bonne Prog
17 mai 2011 à 10:36
Le problème des listes de dimension 2 c'est que lorsque tu créé une liste qui contient trois listes de trois éléments, 4 objets supplémentaires : trois sous listes et une liste globale.
Avec ma source, tu créé un seul objet supplémentaire : la liste des valeurs. Donc, tu allèges le travail du garbage collector.
Le parcourt de toutes les valeurs de la liste est plus rapide sur ma source puisque tu ne fait appel qu'à un objet et non à quatre.
16 mai 2011 à 22:53
Bien à vous,
FuTTy