logo

Jak sortować listę w Javie

Do sortowania listy możemy użyć następujących metod:

co to jest hashset Java
  • Korzystanie z metody stream.sorted().
  • Korzystanie z metody Comparator.reverseOrder().
  • Korzystanie z metody Comparator.naturalOrder().
  • Korzystanie z metody Collections.reverseOrder().
  • Korzystanie z metody Collections.sort().

Interfejs strumienia Java

Interfejs Java Stream udostępnia dwie metody sortowania listy:

metoda sortowana().

Interfejs Stream udostępnia metodę sorted() służącą do sortowania listy. Jest zdefiniowany w interfejsie Stream, który jest obecny w pakiet java.util . Zwraca strumień posortowany według naturalnego porządku. Jeśli elementy nie są porównywalne, zgłasza wyjątek java.lang.ClassCastException. Sygnatura metody to:

 Stream sorted() 

Parametr

T: Jest to rodzaj elementu strumienia.

Java Stream.sorted (komparator komparatora)

Zwraca również strumień posortowany według dostarczonego komparatora. Jest stabilny dla uporządkowanego strumienia. Sygnatura metody to:

 Stream sorted(Comparator comparator) 

Parametry

  • T jest typem elementu strumienia.
  • komparator używany do porównywania elementów

Przykład

W poniższym przykładzie zastosowaliśmy następujące metody:

otwórz menu ustawień
  • W Javie 8 stream() jest interfejsem API używanym do przetwarzania kolekcji obiektów.
  • Metoda Collect() służy do odbierania elementów ze strumienia i przechowywania ich w kolekcji.
  • Funkcja toList() zwraca moduł zbierający, który zbiera wszystkie elementy wejściowe na listę, w kolejności spotkań.

Przykład

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

Wyjście:

Jak sortować listę w Javie

Metoda Java Comparator.reverseOrder().

ReverseOrder() jest metodą interfejsu Comparatora zdefiniowaną w pakiecie java.util. Metoda zwraca komparator, który narzuca odwrotność naturalnego porządku. Zgłasza wyjątek NullPointerException podczas porównywania wartości null. Sygnatura metody to:

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

Porównywalny jest także interfejs należący do pakietu java.lang.

Parametry

T: porównywalny typ elementu do porównania.

Przykład

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

Wyjście:

Jak sortować listę w Javie

Komparator Java.naturalOrder()

Metoda zwraca komparator, który porównuje obiekty Comparable w naturalnej kolejności. Zwrócony element porównawczy można serializować. Kiedy porównujemy wartość null, zgłasza wyjątek NullPointerException. Pochodzi z Java 8. Sygnatura metody to:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Metoda sortuje elementy w kolejności naturalnej (rosnącej).
  • Umieszcza wartość null na górze, jeśli taka istnieje.
  • Umieszcza elementy wielkich liter na pierwszym miejscu w porządku naturalnym, a następnie małe litery w porządku naturalnym, jeśli lista zawiera zarówno małe, jak i wielkie litery.

Parametry

T: Porównywalny typ elementu do porównania.

Przykład

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

Wyjście:

Jak sortować listę w Javie

Metoda Java Collections.reverseOrder().

Jest to metoda klasy Java Collections należącej do pakietu java.lang. Zwraca komparator, który narzuca odwrotność naturalnego porządku. Sygnatura metody to:

 public static Comparator reverseOrder() 

Parametry

Klasa obiektów porównywanych przez komparator.

Java zamień wszystko

Przykład

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

Wyjście:

Jak sortować listę w Javie

Metoda Java Collections.sort().

Klasa Collections ma dwie metody sortowania listy:

metoda sortowania().

Metoda sort() sortuje listę w kolejności rosnącej, zgodnie z naturalnym porządkiem jej elementów. Sygnatura metody to:

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

Parametry

T: Jest to parametr typu.

jak przekonwertować liczbę całkowitą na ciąg Java

list: Lista do posortowania.

Zobaczmy inny przykład metody Collections.sorts().

Przykład

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

Wyjście:

Jak sortować listę w Javie