logo

Hogyan rendezzünk listát Java nyelven

A lista rendezéséhez a következő módszereket használhatjuk:

szikra bemutató
  • A stream.sorted() metódus használata
  • A Comparator.reverseOrder() metódus használata
  • A Comparator.naturalOrder() metódus használatával
  • Collections.reverseOrder() metódus használatával
  • Collections.sort() metódus használatával

Java Stream felület

A Java Stream felület két módszert kínál a lista rendezésére:

sorted() metódus

A Stream felület egy sorted() metódussal rendelkezik a lista rendezéséhez. Meg van határozva a Stream interfészben, amely a következőben található java.util csomag . A természetes sorrend szerint rendezett folyamot adja vissza. Ha az elemek nem összehasonlíthatók, akkor a java.lang.ClassCastException parancsot dobja ki. A módszer aláírása:

 Stream sorted() 

Paraméter

T: Ez egyfajta stream elem.

Java Stream.sorted (összehasonlító összehasonlító)

A megadott összehasonlító szerint rendezett adatfolyamot is visszaadja. Rendezett folyamhoz stabil. A módszer aláírása:

 Stream sorted(Comparator comparator) 

Paraméterek

  • T az adatfolyam elem típusa.
  • az elemek összehasonlításához használandó összehasonlító

Példa

A következő példában a következő módszereket alkalmaztuk:

videó letöltés a youtube vlc-ről
  • A Java 8-ban a stream() egy API, amelyet objektumgyűjtemények feldolgozására használnak.
  • A collection() metódus az adatfolyamból elemek fogadására és gyűjteményben való tárolására szolgál.
  • A toList() visszaadja azt a gyűjtőt, amely az összes bemeneti elemet egy listába gyűjti, találkozási sorrendben.

Példa

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

Kimenet:

Hogyan rendezzünk listát Java nyelven

Java Comparator.reverseOrder() metódus

A reverseOrder() a Comparator interfész metódusa, amely a java.util csomagban van definiálva. A metódus egy komparátort ad vissza, amely a természetes sorrend fordítottját írja elő. NullPointerExceptiont dob ​​a null összehasonlításakor. A metódus aláírása a következő:

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

Összehasonlítható egy java.lang csomaghoz tartozó felület is.

Paraméterek

T: az összehasonlítandó elem összehasonlítható típusa.

Példa

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

Kimenet:

karakterláncot enummá alakítani
Hogyan rendezzünk listát Java nyelven

Java Comparator.naturalOrder()

A metódus egy összehasonlító eszközt ad vissza, amely az összehasonlítható objektumokat a természetes sorrendben hasonlítja össze. A visszaadott összehasonlító szerializálható. Ha a nullát hasonlítjuk össze, akkor a NullPointerExceptiont dobja. Java 8-ból származik. A metódus aláírása a következő:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • A módszer az elemeket természetes (növekvő) sorrendbe rendezi.
  • A null értéket a tetejére teszi, ha van.
  • Ha a listában kis- és nagybetűk is vannak, először a nagybetűket helyezi természetes sorrendbe, majd a kisbetűket a természetes sorrendbe.

Paraméterek

T: Az összehasonlítandó elem összehasonlítható típusa.

Példa

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

Kimenet:

Hogyan rendezzünk listát Java nyelven

Java Collections.reverseOrder() metódus

Ez a Java Collections osztály metódusa, amely egy java.lang csomaghoz tartozik. Egy komparátort ad vissza, amely a természetes sorrend fordítottját írja elő. A módszer aláírása:

 public static Comparator reverseOrder() 

Paraméterek

Az összehasonlító által összehasonlított objektumok osztálya.

Példa

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

Kimenet:

bash while ciklus
Hogyan rendezzünk listát Java nyelven

Java Collections.sort() metódus

A Gyűjtemények osztálynak két módszere van a lista rendezésére:

sort() metódus

A sort() metódus a listát növekvő sorrendbe rendezi, elemeinek természetes sorrendje szerint. A módszer aláírása:

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

Paraméterek

T: Ez egy típusparaméter.

lista: A rendezendő lista.

Lássunk egy másik példát a Collections.sorts() metódusra.

Példa

mysql beszúrása
 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); } } 

Kimenet:

Hogyan rendezzünk listát Java nyelven