Lære å bruke Samlinger.sorter () – metoden for å sortere arraylist av tilpassede objekter i java-med eksempler.
som standard er denne metoden blir sortert usortert List
i stigende rekkefølge, dvs. i henhold til den naturlige bestilling av listeelementene. Vi kan bruke Samlinger.reverseOrder () – metoden for omvendt sortering.
Sorter ArrayList av Objekter – Samlinger.sorter( List )
- Den sorterer den angitte
List
– elementer inn i sitt naturlige orden., - Alle elementer i
list
må gjennomføre tilsvarende grensesnitt. - Alle elementene i listen må være gjensidig sammenlignbare og bør ikke kaste
ClassCastException
. - Denne typen er garantert å være stabil. Det betyr at like elementer vil ikke være organisert som et resultat av den typen.
- Den angitte
list
må være endres, men trenger ikke være justerbar. - Metoden ikke returnere noen verdi.,
Eksempel 1: Sorter arraylist av strenger
Java eksempel å sortere en liste over navn i lexicographically eller i ordlisten for.
Eksempel 2: Sorter arraylist av tilpassede objekter av feltet med Sammenlignbare
Vi trenger for å sortere listen over tilpassede objekter som har sin egen sortering logikk. I så fall, gjennomføre Comparator
grensesnitt i egendefinert klasse.
For eksempel, domene-objektet Employee
har en tilpasset corasion logikk basert på de ansattes id
– feltet., Kassa for sammenligningen logikk i compareTo () – metoden.
Java-program for å sortere listen over ansatte objekter av id
, i stigende og synkende bestillinger.
Program utdata.
, E , E , E , E ], E , E , E , E ]
Sorter ArryList av objekter – Samlinger.sorter( liste, Comparator )
Hvis domene-objektet ikke implementere Comparable
grensesnitt, så kan vi bruke tilpassede Comparator
implementasjoner. Bruk lambda-uttrykk til enda mer forkorte syntaks.,
Eksempel 1: Opprette Egendefinerte Comparator
Dette er generelle syntaksen for å lage en Komparator i Java.
Hvis du er i Java 8, bruk lambda-uttrykk for å gjøre syntaks mer lesbar.
Eksempel 2: Sorter listen med objekter av feltet med Comparator
Program utdata.
, E , E , E , E ], E , E , E , E ]
Glade for Læring !!