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
listmå 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
listmå 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 !!