logo

Kaip rūšiuoti sąrašą Java

Norėdami rūšiuoti sąrašą, galime naudoti šiuos metodus:

styginių kūrimo priemonė java
  • Naudojant stream.sorted() metodą
  • Naudojant Comparator.reverseOrder() metodą
  • Naudojant Comparator.naturalOrder() metodą
  • Naudojant Collections.reverseOrder() metodą
  • Naudojant Collections.sort() metodą

Java Stream sąsaja

„Java Stream“ sąsajoje pateikiami du sąrašo rūšiavimo būdai:

Rūšiuotas() metodas

Srauto sąsaja suteikia rūšiavimo () metodą sąrašui rūšiuoti. Jis apibrėžiamas srauto sąsajoje, kuri yra java.util paketą . Jis grąžina srautą, surūšiuotą pagal natūralią tvarką. Jei elementai nėra palyginami, jis išmeta java.lang.ClassCastException. Metodo parašas yra:

 Stream sorted() 

Parametras

T: Tai yra srauto elemento tipas.

„Java Stream.sorted“ (palyginimo priemonė)

Taip pat pateikiamas srautas, surūšiuotas pagal pateiktą palyginimo priemonę. Jis yra stabilus užsakytam srautui. Metodo parašas yra:

 Stream sorted(Comparator comparator) 

Parametrai

  • T yra srauto elemento tipas.
  • lygintuvas, naudojamas elementams palyginti

Pavyzdys

Toliau pateiktame pavyzdyje naudojome šiuos metodus:

ubuntu build būtina
  • „Java 8“ versijoje srautas () yra API, naudojama objektų rinkiniams apdoroti.
  • Collect() metodas naudojamas elementams gauti iš srauto ir saugoti juos kolekcijoje.
  • ToList() grąžina kolekcionierių, kuris surenka visus įvesties elementus į sąrašą, susidūrimo tvarka.

Pavyzdys

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

Išvestis:

Kaip rūšiuoti sąrašą Java

Java Comparator.reverseOrder() metodas

ReverseOrder() yra palyginimo sąsajos metodas, apibrėžtas java.util pakete. Metodas grąžina lyginamąjį elementą, kuris nustato atvirkštinę natūralios tvarkos tvarką. Lyginant nulį, jis meta NullPointerException. Metodo parašas yra:

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

Palyginti taip pat yra sąsaja, priklausanti java.lang paketui.

Parametrai

T: palyginamas elemento tipas, kurį reikia palyginti.

Pavyzdys

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

Išvestis:

Kaip rūšiuoti sąrašą Java

Java Comparator.naturalOrder()

Metodas grąžina lyginamąjį elementą, kuris lygina palyginamus objektus natūralia tvarka. Grąžintas palyginamasis daiktas yra serializuojamas. Kai lyginame nulį, jis meta NullPointerException. Jis yra iš Java 8. Metodo parašas yra:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metodas surūšiuoja elementus natūralia tvarka (didėjimo tvarka).
  • Viršuje nurodomas nulis, jei toks yra.
  • Jei sąraše yra ir mažųjų, ir didžiųjų raidžių, pirmieji pateikiami didžiųjų raidžių elementai natūralia tvarka, po to mažosios raidės natūralia tvarka.

Parametrai

uml diagrama java

T: palyginamas elemento tipas, kurį reikia palyginti.

Pavyzdys

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

Išvestis:

Kaip rūšiuoti sąrašą Java

Java Collections.reverseOrder() metodas

Tai „Java Collections“ klasės metodas, priklausantis java.lang paketui. Jis grąžina lyginamąjį elementą, kuris nustato atvirkštinę natūralios tvarkos tvarką. Metodo parašas yra:

 public static Comparator reverseOrder() 

Parametrai

Objektų, kuriuos palygino lyginamoji priemonė, klasė.

Pavyzdys

ilgas iki stygos
 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); } } 

Išvestis:

Kaip rūšiuoti sąrašą Java

Java Collections.sort() metodas

Kolekcijos klasėje yra du sąrašo rūšiavimo būdai:

Rūšiuoti() metodas

Metodas sort() rūšiuoja sąrašą didėjančia tvarka pagal natūralią jo elementų tvarką. Metodo parašas yra:

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

Parametrai

T: Tai tipo parametras.

sąrašas: sąrašas, kurį reikia rūšiuoti.

Pažiūrėkime kitą metodo Collections.sorts() pavyzdį.

Pavyzdys

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

Išvestis:

Kaip rūšiuoti sąrašą Java