We kunnen de volgende methoden gebruiken om de lijst te sorteren:
naam van
- De methode stream.sorted() gebruiken
- Met behulp van de Comparator.reverseOrder()-methode
- Met behulp van de Comparator.naturalOrder()-methode
- Met behulp van de Collections.reverseOrder()-methode
- Met behulp van de Collections.sort()-methode
Java Stream-interface
De Java Stream-interface biedt twee methoden voor het sorteren van de lijst:
sort() methode
De Stream-interface biedt een sorteer()-methode om een lijst te sorteren. Het wordt gedefinieerd in de Stream-interface die aanwezig is in java.util-pakket . Het retourneert een stroom gesorteerd volgens de natuurlijke volgorde. Als de elementen niet vergelijkbaar zijn, wordt java.lang.ClassCastException gegenereerd. De handtekening van de methode is:
Stream sorted()
Parameter
T: Het is een soort stroomelement.
Java Stream.sorted (vergelijkervergelijker)
Het retourneert ook een stream gesorteerd op basis van de meegeleverde comparator. Het is stabiel voor een geordende stream. De handtekening van de methode is:
Stream sorted(Comparator comparator)
Parameters
- T is het type stroomelement.
- comparator die moet worden gebruikt om elementen te vergelijken
Voorbeeld
In het volgende voorbeeld hebben we de volgende methoden gebruikt:
chromen adresbalk
- In Java 8 is stream() een API die wordt gebruikt om verzamelingen objecten te verwerken.
- De methode collect() wordt gebruikt om elementen uit een stream te ontvangen en deze in een verzameling op te slaan.
- De toList() retourneert de collector die alle invoerelementen in een lijst verzamelt, in volgorde van ontmoeting.
Voorbeeld
import java.util.*; import java.util.stream.*; public class SortListExample1 { public static void main(String[] args) { //returns a list view List slist = Arrays.asList('Tanu', 'Kamal', 'Suman', 'Lucky', 'Bunty', 'Amit'); List sortedList = slist.stream().sorted().collect(Collectors.toList()); sortedList.forEach(System.out::println); } }
Uitgang:
Java Comparator.reverseOrder()-methode
De reverseOrder() is een methode van de Comparator-interface die is gedefinieerd in het java.util-pakket. De methode retourneert een comparator die het omgekeerde van de natuurlijke ordening oplegt. Het genereert NullPointerException bij het vergelijken van null. De methodehandtekening is:
static <t extends comparable> Comparator reverseOrder() </t>
Vergelijkbaar is ook een interface die bij een java.lang-pakket hoort.
Parameters
T: vergelijkbaar type element dat moet worden vergeleken.
Voorbeeld
import java.util.*; import java.util.stream.Collectors; public class SortListExample2 { public static void main(String[] args) { //returns a list view List slist = Arrays.asList('78', 'a', 'm', 'b', 'z', 'c', '12', 'l', '1'); ListsortedList=slist.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); sortedList.forEach(System.out::println); } }
Uitgang:
Java-vergelijker.naturalOrder()
De methode retourneert een comparator die vergelijkbare objecten in de natuurlijke volgorde vergelijkt. De geretourneerde vergelijkbare versie is serialiseerbaar. Wanneer we null vergelijken, wordt NullPointerException gegenereerd. Het komt uit Java 8. De handtekening van de methode is:
Static <t extends comparable> Comparator naturalOrder() </t>
- De methode sorteert de elementen in natuurlijke volgorde (oplopende volgorde).
- Indien aanwezig wordt null bovenaan geplaatst.
- Het plaatst de hoofdletterelementen eerst in de natuurlijke volgorde en daarna de kleine letters in de natuurlijke volgorde, als de lijst zowel kleine letters als hoofdletters bevat.
Parameters
T: Vergelijkbaar type element dat moet worden vergeleken.
Voorbeeld
parafraseer indien door Rudyard Kipling
import java.util.*; public class SortListExample3 { public static void main(String[] args) { List country = Arrays.asList('Russia', 'India', 'China', 'Japan', '', 'Ghana'); List country1 = Arrays.asList('Russia','india', 'China', 'Japan', '', 'ghana'); System.out.println(country); //prints the same list as we define country.sort(String.CASE_INSENSITIVE_ORDER); //sorts the list in case insensitive order System.out.println(country1); country.sort(Comparator.naturalOrder()); //sorts list in ascending order System.out.println(country); //sorts list in ascending order (null, capital letter and small letter) country1.sort(Comparator.naturalOrder()); System.out.println(country1); } }
Uitgang:
Java Collections.reverseOrder()-methode
Het is de methode van de klasse Java Collections die tot een java.lang-pakket behoort. Het retourneert een comparator die het omgekeerde van de natuurlijke ordening oplegt. De handtekening van de methode is:
public static Comparator reverseOrder()
Parameters
De klasse van de objecten die door de comparator worden vergeleken.
abstracte methoden
Voorbeeld
import java.util.Arrays; import java.util.Collections; import java.util.List; public class SortListExample4 { public static void main(String args[]) { List list = Arrays.asList(10,1,-20,40,5,-23,0); Collections.sort(list, Collections.reverseOrder()); System.out.println(list); } }
Uitgang:
Java Collections.sort()-methode
De klasse Collections heeft twee methoden voor het sorteren van een lijst:
sort() methode
De methode sort() sorteert de lijst in oplopende volgorde, volgens de natuurlijke volgorde van de elementen. De handtekening van de methode is:
public static <t extends comparable> void sort() (List list) </t>
Parameters
T: Het is een typeparameter.
voor elk typoscript
lijst: De lijst die moet worden gesorteerd.
Laten we nog een voorbeeld bekijken van de methode Collections.sorts().
Voorbeeld
import java.util.*; public class SortListExample5 { public static void main(String[] args) { List sList = new ArrayList(); sList.add('m'); sList.add('k'); sList.add('a'); sList.add('p'); sList.add('d'); Collections.sort(sList); //sorts array list for(String str: sList) System.out.print(' '+str); } }
Uitgang: