Optimisation code JAVA
Fermé
babyboystwo
Messages postés
9
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
8 mars 2012
-
8 mars 2012 à 15:29
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 8 mars 2012 à 18:04
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 8 mars 2012 à 18:04
A voir également:
- Optimisation code JAVA
- Optimisation pc - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Code asci - Guide
- Jeux java itel football - Télécharger - Jeux vidéo
2 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
Modifié par KX le 8/03/2012 à 16:13
Modifié par KX le 8/03/2012 à 16:13
Faire des get(i) sur une LinkedList c'est très moche (comprendre : pas optimal), si tu as besoin de faire des get(i) utilises une ArrayList, sinon utilises des Iterator (éventuellement implicites avec une boucle for each).
De plus utiliser des Integer (et les Wrapper en général) c'est plus lourd qu'utiliser directement un int, d'autant que du coup tu fais des tests de la valeur null qui sont inutiles (dans ton cas).
Exemple d'amélioration :
De plus utiliser des Integer (et les Wrapper en général) c'est plus lourd qu'utiliser directement un int, d'autant que du coup tu fais des tests de la valeur null qui sont inutiles (dans ton cas).
Exemple d'amélioration :
Integer locResult = 0 ; for (int i = 0; i < locDbValueList.size(); ++i) { final Integer locTempVal = doOperation(locDbValueList.get(i)); if (locTempVal != null) { locResult += locTempVal; } } int locResult=0; for (Double d : locDbValueList) locResult += doOperation(d);La confiance n'exclut pas le contrôle
babyboystwo
Messages postés
9
Date d'inscription
lundi 24 janvier 2011
Statut
Membre
Dernière intervention
8 mars 2012
1
8 mars 2012 à 17:07
8 mars 2012 à 17:07
t'as pas oublié la variable locTempVal dans la partie du code que t'as amélioré ?
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
8 mars 2012 à 18:04
8 mars 2012 à 18:04
Non, car elle ne servait à rien, si ce n'est vérifier qu'elle ne vaut pas null, or la méthode doOperation renvoie un int, donc c'est impossible d'obtenir null, du coup le seul intérêt de locTempVal c'est pour faire l'addition de locResult que je fais directement dans ma troisième ligne...