logo

Metoda Java List sort().

The razvrsti() metoda List Interface razvrsti dani seznam glede na vrstni red, določen v primerjalniku. Seznam mora biti spremenljiv, sicer bo povzročil izjemo.

Sintaksa

 default void sort(Comparator c) 

Parametri

Parameter 'c' predstavlja primerjalnik, ki se uporablja za primerjavo elementov seznama. In za ničelne vrednosti se uporablja naravni vrstni red.

Vrnitev

TO

Meti:

ClassCastExceptio n- Če seznam vsebuje elemente, ki med seboj niso primerljivi s primerjalnikom

UnsupportedOperationException - Če iterator seznama seznama ne podpira operacije razvrščanja

IllegalArgumentException - Če se ugotovi, da primerjalnik krši protokole primerjalnika.

Primer 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); } } 
Preizkusite zdaj

Izhod:

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

Primer 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); } } } 
Preizkusite zdaj

Izhod:

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