logo

Jak seřadit seznam v Javě

K řazení seznamu můžeme použít následující metody:

bajtové pole na řetězec java
  • Použití metody stream.sorted().
  • Pomocí metody Comparator.reverseOrder().
  • Pomocí metody Comparator.naturalOrder().
  • Pomocí metody Collections.reverseOrder().
  • Pomocí metody Collections.sort().

Rozhraní Java Stream

Rozhraní Java Stream poskytuje dva způsoby řazení seznamu:

metoda sort()

Rozhraní streamu poskytuje metodu sort() pro třídění seznamu. Je definován v rozhraní Stream, které je přítomno balíček java.util . Vrací proud seřazený podle přirozeného pořadí. Pokud prvky nejsou srovnatelné, vyvolá výjimku java.lang.ClassCastException. Podpis metody je:

 Stream sorted() 

Parametr

T: Je to typ prvku proudu.

Java Stream.sorted (srovnávací komparátor)

Vrátí také proud seřazený podle poskytnutého komparátoru. Je stabilní pro uspořádaný stream. Podpis metody je:

 Stream sorted(Comparator comparator) 

Parametry

  • T je typ prvku proudu.
  • komparátor, který se používá k porovnávání prvků

Příklad

V následujícím příkladu jsme použili následující metody:

virtuální stroj java
  • V Javě 8 je stream() API používané ke zpracování kolekcí objektů.
  • Metoda collect() se používá k přijímání prvků z proudu a jejich ukládání do kolekce.
  • ToList() vrací kolektor, který shromažďuje všechny vstupní prvky do seznamu v pořadí setkání.

Pří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ýstup:

Jak seřadit seznam v Javě

Metoda Java Comparator.reverseOrder().

ReverseOrder() je metoda rozhraní Comparator, která je definována v balíčku java.util. Metoda vrací komparátor, který ukládá opak přirozeného uspořádání. Při porovnávání null vyvolá výjimku NullPointerException. Podpis metody je:

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

Srovnatelné je také rozhraní patřící do balíčku java.lang.

Parametry

T: srovnatelný typ porovnávaného prvku.

Příklad

konvence pojmenování pro java
 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ýstup:

Jak seřadit seznam v Javě

Java Comparator.naturalOrder()

Metoda vrací komparátor, který porovnává srovnatelné objekty v přirozeném pořadí. Vrácený srovnatelný je serializovatelný. Když porovnáme null, vyvolá to výjimku NullPointerException. Je z Java 8. Podpis metody je:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metoda řadí prvky v přirozeném pořadí (vzestupně).
  • Umístí null na začátek, pokud existuje.
  • Pokud seznam obsahuje malá i velká písmena, umístí prvky velkých písmen na první místo v přirozeném pořadí po malých písmenech v přirozeném pořadí.

Parametry

T: Srovnatelný typ prvku, který se má porovnávat.

Pří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ýstup:

Jak seřadit seznam v Javě

Metoda Java Collections.reverseOrder().

Je to metoda třídy Java Collections, která patří do balíčku java.lang. Vrací komparátor, který ukládá obrácené přirozené uspořádání. Podpis metody je:

 public static Comparator reverseOrder() 

Parametry

java hodnota řetězce

Třída objektů porovnávaných komparátorem.

Pří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ýstup:

Jak seřadit seznam v Javě

Metoda Java Collections.sort().

Třída Collections má dvě metody pro řazení seznamu:

metoda sort().

Metoda sort() seřadí seznam ve vzestupném pořadí podle přirozeného uspořádání jeho prvků. Podpis metody je:

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

Parametry

T: Je to typový parametr.

seznam: Seznam, který se má třídit.

Podívejme se na další příklad metody Collections.sorts().

huffmanův kódovací kód

Pří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ýstup:

Jak seřadit seznam v Javě