Trier un tableau d'objets
Fermé
sihem hcine
Messages postés
113
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
7 février 2016
-
24 avril 2015 à 13:08
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 avril 2015 à 11:50
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 25 avril 2015 à 11:50
A voir également:
- Trier un tableau d'objets
- Trier tableau excel - Guide
- Tableau croisé dynamique - Guide
- Site pour vendre des objets d'occasion - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
1 réponse
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
25 avril 2015 à 11:50
25 avril 2015 à 11:50
Bonjour,
Les getteurs sont des méthodes pour accéder à un résultat en aucun cas pour le modifier, pour cela on a des setteurs.
Remarque :
Cela ne sert à rien de déclarer processus
De plus, le mot clé
Enfin, en Java il y a des conventions de nommages, les noms de classes doivent commencer par une majuscule, les noms de méthodes et de paramètres doivent commencer par une minuscule, ne pas contenir d'accents ni _ ou $, et lorsqu'il y a un changement de mots on mettra une majuscule.
Notons aussi, que la classe Vector est dépréciée, il vaut mieux lui préférer les ArrayList, même si dans ton cas l'utilisation de l'interface List suffirait.
Encore une remarque : généralement on préfère ne pas modifier les données que l'on passe en paramètre, il serait mieux d'avoir une méthode qui retourne la liste triée, mais sans effet de bord pour la liste passée en paramètre.
Une solution très simple pour faire cela est comme ceci :
Les getteurs sont des méthodes pour accéder à un résultat en aucun cas pour le modifier, pour cela on a des setteurs.
Remarque :
Cela ne sert à rien de déclarer processus
tampon = new processus();tu créés un objet qui ne te serviras jamais, il vaut mieux affecter une valeur null, ou encore mieux déclarer la variable au dernier moment, là où tu en as vraiment besoin.
De plus, le mot clé
thisconcerne l'objet courant, or ici ce que tu veux trier c'est le paramètre de la méthode, ça ne concerne donc en rien l'objet courant, d'ailleurs tu pourrais même mettre la méthode static...
Enfin, en Java il y a des conventions de nommages, les noms de classes doivent commencer par une majuscule, les noms de méthodes et de paramètres doivent commencer par une minuscule, ne pas contenir d'accents ni _ ou $, et lorsqu'il y a un changement de mots on mettra une majuscule.
Notons aussi, que la classe Vector est dépréciée, il vaut mieux lui préférer les ArrayList, même si dans ton cas l'utilisation de l'interface List suffirait.
public static void triDec (List<Processus> filePret) { boolean permut; do { permut = false; for (int i=0; i<filePret.size()-1; i++) { if (filePret.get(i).getNote() < filePret.get(i+1).getNote()) { Processus tampon = filePret.get(i); filePret.set(i, filePret.get(i+1)); filePret.set(i+1, tampon); permut = true; } } } while (permut); }
Encore une remarque : généralement on préfère ne pas modifier les données que l'on passe en paramètre, il serait mieux d'avoir une méthode qui retourne la liste triée, mais sans effet de bord pour la liste passée en paramètre.
Une solution très simple pour faire cela est comme ceci :
public static List<Processus> triDec(List<Processus> list) { List<Processus> filePret = new ArrayList<Processus>(list); // tout le reste du code; return filePret; }