Avatar billede kdjweb Nybegynder
03. december 2010 - 12:46 Der er 4 kommentarer og
1 løsning

Sortering af objekter vha. collections.sort

Hej eksperter.

Jeg har i længere tid siddet og undret mig over hvordan Collections.sort's compareTo fungerer. Jeg sidder her og skal lave en top10 over en række resultater(double). Resultaterne skal både kunne sorteres desc og asc. 

Mine resultater bliver gemt i et ArrayList objekt, og resultat objekterne indeholder dato og resultat.

Jeg har kigget meget rundt omkring, men kan ikke finde noget tilsvarende med sortering af objekter vha. et resultat i selve objekterne.

Håber i kan hjælpe mig :-)
Avatar billede tjp Mester
03. december 2010 - 13:29 #1
Collection.sort benytter din klasses natural ordering dvs den skal implementere interfacet Comparable og definere metoden compareTo. For desc sort benyttes Collection.sort(dinListe, Collections.reverseOrder()) .
Til inspiration:
http://www.java2s.com/Tutorial/Java/0140__Collections/SortingaCollectioncontaininguserdefinedObjects.htm
Avatar billede kdjweb Nybegynder
03. december 2010 - 14:23 #2
Tak for det hurtige svar, jeg kigger på det i aften :-)
Avatar billede kdjweb Nybegynder
03. december 2010 - 19:07 #3
Lig svar :-) fandt ud af det var fordi jeg brugte en primitiv double
Avatar billede tjp Mester
03. december 2010 - 19:27 #4
Okay. Here U R.. :-)
Avatar billede arne_v Ekspert
04. december 2010 - 02:39 #5
Hvis du vil sortere "naturligt", så lader du klassen implementere Comparable<>.

Hvis du vil sortere "unaturligt" så giver du sort metoden et andet argument som er en instans af noget der implementerer Comparator<>.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester