Ok, merci vahid !
Bon, j'ai créé cette classe Comparator ...
mais ma question est : comment l'utiliser ensuite avec une collection ?
En utilisant MaListeFiche, je n'ai pas de methode sort (idem si j'instancie un nouvel objet Collection) ?
Version imprimable
Ok, merci vahid !
Bon, j'ai créé cette classe Comparator ...
mais ma question est : comment l'utiliser ensuite avec une collection ?
En utilisant MaListeFiche, je n'ai pas de methode sort (idem si j'instancie un nouvel objet Collection) ?
Si ton ordre de classement sur les fiches est toujours le même, tu peux te passer d'un Comparator: il te suffit de demander à ta classe "Fiche" d'implémenter l'interface "Comparable" (et la méthode compareTo correspondante).
Lorsque tu trieras une liste de fiches, cette méthode sera automatiquement utilisée par défaut pour trier tes fiches
Au contraire si tu souhaite posséder plusieurs méthodes de tri, il faut que tu appelles la méthode static Collections.sort(ta liste, ton objet comparator); avec le comparator que tu souhaite
Ok,
et si je souhaite créer autant de liste de fiches qu'il existe de "type" (un type pour mon cas peut etre "CD", "Vinyl","Cassette" etc ... ) ?
En fait, de ma liste generale qui regroupe toutes mes Fiches, je veux pouvoir en creer d'autres qui seront "classées" par type de produit. La classe Comparator est alors nécessaire dans ce cas ?
et comment recuperer ca à partir de Collection.sort(MaListeGenerale, monComparator) ??
Merci encore
En fait Collections.sort te trie la liste que tu donne en argument, il ne t en retourne pas une nouvelle donc tu l appelle et ca trie ta liste (passage par reference si tu as fait du C ou du vba)
ensuite, qd t as trié, bah c simple, ta liste contient les fiches triées par type par exemple ! (avec A, BBB comme type)
["A", "A", "BBB", "CCC","CCC"]
t'as plus qu'a la lire dans l'ordre et créer des listes a chaque fois que ton type change. tu pourrais par exemple creer un objet FichesTypees{} qui contiendrais ton type et une liste avec toutes les fiches de ce type. Tu te retrouverai a la fin avec une liste de FichesTypees. Bref y a plein de solutions
Ben merci encore pour votre aide !
J'ai donc créé autant de classe Fichetype qu'il existe de type, dans lesquelles j'ai inscrit les infos que je desirais faire apparaitre ensuite sous forme de Fenetre. C'est clair que lorsque j'aurais a ajouter un autre type, je n'aurais qu'a faire un copier-coller d'une de mes classes et de modifier qq parametres rapidement.
Maintenant, je vais entamer l'IHM.
Merci encore a tous, c'est sympa d'avoir pris de votre temps pour m'aider...
:yaisse2:
Surtout pas !!!Citation:
Envoyé par pepito31
:)
Il faut utiliser l'héritage pour cela...
Ah bé oui, évidemment, avec le fameux "extends" ...
Meme si ma future fiche d'un autre type n'utilisera pas necessairement tous les parametres de la classe mere ?
En gros, ma classe mere sera la Fiche "FicheCD"...
un autre type "FicheDVD" n'utilisera pas necessairement la variable "TitreAlbum" de la classe mère... mieux vaut faire cela que dupliquer mes fiches alors ?
nan ta classe mere c fiche.
les filles c dvd, cd, etc
sauf si t as des fiches qui en englobes d autres, comme dvd blueray, hd dvd qui heriteront de dvd.
bref recouper toutes les propriété communes dans la classe mere