logo

Ako triediť zoznam v Jave

Na zoradenie zoznamu môžeme použiť nasledujúce metódy:

tlačidlo na vycentrovanie css
  • Pomocou metódy stream.sorted().
  • Pomocou metódy Comparator.reverseOrder().
  • Pomocou metódy Comparator.naturalOrder().
  • Pomocou metódy Collections.reverseOrder().
  • Pomocou metódy Collections.sort().

Rozhranie Java Stream

Rozhranie Java Stream poskytuje dva spôsoby triedenia zoznamu:

triedená() metóda

Rozhranie streamu poskytuje metódu sort() na triedenie zoznamu. Je definovaný v rozhraní Stream, ktoré je prítomné v balík java.util . Vracia prúd zoradený podľa prirodzeného poradia. Ak prvky nie sú porovnateľné, vyhodí java.lang.ClassCastException. Podpis metódy je:

 Stream sorted() 

Parameter

T: Je to typ prvku prúdu.

Java Stream.sorted (porovnávač komparátora)

Tiež vráti prúd zoradený podľa poskytnutého porovnávača. Je stabilný pre objednaný prúd. Podpis metódy je:

 Stream sorted(Comparator comparator) 

Parametre

  • T je typ prvku prúdu.
  • komparátor, ktorý sa má použiť na porovnávanie prvkov

Príklad

V nasledujúcom príklade sme použili nasledujúce metódy:

java virtuálny stroj
  • V Java 8 je stream() API používané na spracovanie kolekcií objektov.
  • Metóda collect() sa používa na príjem prvkov z prúdu a ich uloženie do kolekcie.
  • ToList() vráti kolektor, ktorý zhromažďuje všetky vstupné prvky do zoznamu v poradí stretnutí.

Príklad

 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); } } 

Výkon:

Ako triediť zoznam v Jave

Metóda Java Comparator.reverseOrder().

ReverseOrder() je metóda rozhrania Comparator, ktorá je definovaná v balíku java.util. Metóda vracia komparátor, ktorý vnucuje opačné prirodzené usporiadanie. Pri porovnávaní hodnoty null vyhodí výnimku NullPointerException. Podpis metódy je:

 static <t extends comparable> Comparator reverseOrder() </t>

Porovnateľné je aj rozhranie patriace do balíka java.lang.

Parametre

T: porovnateľný typ prvku, ktorý sa má porovnávať.

Príklad

java porovnať reťazec
 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(&apos;78&apos;, &apos;a&apos;, &apos;m&apos;, &apos;b&apos;, &apos;z&apos;, &apos;c&apos;, &apos;12&apos;, &apos;l&apos;, &apos;1&apos;); ListsortedList=slist.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList()); sortedList.forEach(System.out::println); } } 

Výkon:

Ako triediť zoznam v Jave

Java Comparator.naturalOrder()

Metóda vracia komparátor, ktorý porovnáva porovnateľné objekty v prirodzenom poradí. Vrátené porovnateľné je možné serializovať. Keď porovnáme hodnotu null, vyhodí výnimku NullPointerException. Je z Java 8. Podpis metódy je:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metóda triedi prvky v prirodzenom poradí (vzostupne).
  • Ak existuje, navrchu sa umiestni nula.
  • Umiestňuje prvky veľkých písmen na prvé miesto v prirodzenom poradí po malých písmenách v prirodzenom poradí, ak zoznam obsahuje malé aj veľké písmená.

Parametre

T: Porovnateľný typ prvku, ktorý sa má porovnávať.

Príklad

 import java.util.*; public class SortListExample3 { public static void main(String[] args) { List country = Arrays.asList(&apos;Russia&apos;, &apos;India&apos;, &apos;China&apos;, &apos;Japan&apos;, &apos;&apos;, &apos;Ghana&apos;); List country1 = Arrays.asList(&apos;Russia&apos;,&apos;india&apos;, &apos;China&apos;, &apos;Japan&apos;, &apos;&apos;, &apos;ghana&apos;); 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); } } 

Výkon:

Ako triediť zoznam v Jave

Metóda Java Collections.reverseOrder().

Je to metóda triedy Java Collections, ktorá patrí do balíka java.lang. Vracia komparátor, ktorý vnucuje opačné prirodzené usporiadanie. Podpis metódy je:

 public static Comparator reverseOrder() 

Parametre

funkcia podreťazca java

Trieda objektov porovnávaných komparátorom.

Príklad

 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); } } 

Výkon:

Ako triediť zoznam v Jave

Metóda Java Collections.sort().

Trieda Collections má dve metódy na triedenie zoznamu:

metóda sort().

Metóda sort() triedi zoznam vo vzostupnom poradí podľa prirodzeného usporiadania jeho prvkov. Podpis metódy je:

 public static <t extends comparable> void sort() (List list) </t>

Parametre

T: Je to typový parameter.

zoznam: Zoznam, ktorý sa má triediť.

Pozrime sa na ďalší príklad metódy Collections.sorts().

alternatíva mylivecricket

Príklad

 import java.util.*; public class SortListExample5 { public static void main(String[] args) { List sList = new ArrayList(); sList.add(&apos;m&apos;); sList.add(&apos;k&apos;); sList.add(&apos;a&apos;); sList.add(&apos;p&apos;); sList.add(&apos;d&apos;); Collections.sort(sList); //sorts array list for(String str: sList) System.out.print(&apos; &apos;+str); } } 

Výkon:

Ako triediť zoznam v Jave