logo

Java List sort() metode

Det sortere() Listegrænseflademetoden sorterer den givne liste i henhold til den rækkefølge, der er angivet i komparatoren. Listen skal kunne ændres, ellers vil den give en undtagelse.

Syntaks

 default void sort(Comparator c) 

Parametre

Parameteren 'c' repræsenterer den komparator, der bruges til at sammenligne listeelementer. Og for nulværdier bruges naturlig bestilling.

Vend tilbage

AT

Kaster:

ClassCastExceptio n- Hvis listen indeholder elementer, der ikke er indbyrdes sammenlignelige ved hjælp af komparatoren

Ikke understøttet OperationException - Hvis listens liste-iterator ikke understøtter sorteringsoperationen

UlovligArgumentundtagelse - Hvis komparatoren viser sig at overtræde komparatorprotokollerne.

Eksempel 1

 import java.util.Collections; import java.util.LinkedList; import java.util.List; public class JavaListSubListExample3 { public static void main(String[] args) { List list= new LinkedList(); list.add('Renu'); list.add('Heera'); list.add('Vijay'); list.add('Geetanjali'); System.out.println('List : '+list); //will sort the string acc to the alphabets Collections.sort(list); System.out.println('Sorted List : '+list); } } 
Test det nu

Produktion:

 List : [Renu, Heera, Vijay, Geetanjali] Sorted List : [Geetanjali, Heera, Renu, Vijay] 

Eksempel 2

 import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; class Employee { int id; String name; public Employee(int id, String name) { this.id = id; this.name = name; } public String toString() { return this.id + ' ' + this.name ; } } class SortById implements Comparator { // Used for sorting in ascending order of ID public int compare(Employee a, Employee b) { return a.id - b.id; } } // Main class class JavaListSubListExample2 { static int i=1; public static void main (String[] args) { List list = new ArrayList(); Employee employee1 = new Employee(15019, 'Patanjali'); Employee employee2 = new Employee(13198, 'Geetanjali'); Employee employee3 = new Employee(12112, 'Anjali'); list.add(employee1); list.add(employee2); list.add(employee3); System.out.println('Unsorted List : '); for (Employee val : list) { System.out.println(i++ +'. '+val); } Collections.sort(list, new SortById()); System.out.println(); System.out.println(' Sorted List : '); int i=1; for (Employee val : list) { System.out.println(i++ +'. '+val); } } } 
Test det nu

Produktion:

 Unsorted List : 1. 15019 Patanjali 2. 13198 Geetanjali 3. 12112 Anjali Sorted List : 1. 12112 Anjali 2. 13198 Geetanjali 3. 15019 Patanjali