învață să folosești colecțiile.sort () metoda pentru a sorta arraylist de obiecte personalizate în java cu exemple.
în mod implicit, această metodă sortează nesortate List
în ordine crescătoare adică în funcție de ordinea naturală a elementelor din listă. Putem folosi colecții.reverseOrder () metoda de sortare inversă.
Sortare ArrayList de obiecte-colecții.sort (List )
- sortează elementele specificate
List
în ordinea lor naturală., - toate elementele din
list
trebuie să implementeze interfața comparabilă. - toate elementele din listă trebuie să fie reciproc comparabile și nu ar trebui să arunce
ClassCastException
. - acest tip este garantat a fi stabil. Aceasta înseamnă că elementele egale nu vor fi reordonate ca urmare a sortării.
- specificat
list
trebuie să fie modificabil, dar nu trebuie să fie Redimensionabil. - metoda nu returnează nicio valoare.,
Exemplul 1: Sortare arraylist de siruri de caractere
exemplu Java pentru a sorta o listă de nume în lexicografic sau în ordinea dicționarului.
Exemplul 2: Sort arraylist of custom objects by field with Comparable
s-ar putea să fie necesar să sortăm lista obiectelor personalizate care au propria lor logică de sortare. În acest caz, implementați interfața Comparator
în clasa personalizată.
De exemplu, obiectul de domeniu Employee
are un obicei corasion logica bazat pe angajatul id
domeniu., Checkout pentru logica comparație în compareTo () metoda.
program Java pentru a sorta lista de obiecte angajat de id
, în ordine crescătoare și descrescătoare.
ieșire Program.
, E , E , E , E ], E , E , E , E ]
Sortare ArryList de obiecte – colecții.sort( lista, Comparator )
Dacă obiect de domeniu nu pune în aplicare Comparable
interfață, atunci putem folosi personalizat Comparator
implementări. Utilizați expresia lambda pentru a scurta și mai mult sintaxa.,
Exemplul 1: Crearea unui Comparator personalizat
aceasta este sintaxa generală pentru a crea un Comparator în Java.dacă în Java 8, utilizați expresia lambda pentru a face sintaxa mai lizibilă.
Exemplul 2: Sortați lista obiectelor după câmp cu comparatorul
ieșire Program.
, E , E , E , E ], E , E , E , E ]
învățare fericită !!
A fost acest post util?