logo

Як відсортувати список у Java

Ми можемо використовувати наступні методи для сортування списку:

баран актор
  • Використання методу stream.sorted().
  • Використання методу Comparator.reverseOrder().
  • Використання методу Comparator.naturalOrder().
  • Використання методу Collections.reverseOrder().
  • Використання методу Collections.sort().

Інтерфейс Java Stream

Інтерфейс Java Stream надає два методи сортування списку:

метод sorted().

Інтерфейс потоку надає метод sorted() для сортування списку. Це визначено в інтерфейсі Stream, який присутній у пакет java.util . Він повертає потік, відсортований відповідно до природного порядку. Якщо елементи не порівнюються, викидає java.lang.ClassCastException. Сигнатура методу:

 Stream sorted() 

Параметр

Т: Це тип елемента потоку.

Java Stream.sorted (компаратор компаратора)

Він також повертає потік, відсортований відповідно до наданого компаратора. Він стабільний для впорядкованого потоку. Сигнатура методу:

 Stream sorted(Comparator comparator) 

Параметри

  • Т - тип елемента потоку.
  • компаратор, який використовується для порівняння елементів

приклад

У наступному прикладі ми використали такі методи:

перетворення рядка в int java
  • У Java 8 stream() — це API, який використовується для обробки колекцій об’єктів.
  • Метод collect() використовується для отримання елементів із потоку та збереження їх у колекції.
  • toList() повертає збирач, який збирає всі вхідні елементи в список у порядку зустрічі.

приклад

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

Вихід:

Як відсортувати список у Java

Метод Java Comparator.reverseOrder().

ReverseOrder() — це метод інтерфейсу Comparator, який визначено в пакеті java.util. Метод повертає компаратор, який накладає порядок, зворотний до природного. Він викидає NullPointerException під час порівняння null. Сигнатура методу:

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

Comparable також є інтерфейсом, що належить пакету java.lang.

Параметри

T: порівняльний тип елемента для порівняння.

приклад

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

Вихід:

Як відсортувати список у Java

Java Comparator.naturalOrder()

Метод повертає компаратор, який порівнює порівнювані об’єкти в природному порядку. Повернений порівняльний елемент можна серіалізувати. Коли ми порівнюємо null, він викидає NullPointerException. Це з Java 8. Сигнатура методу:

 Static <t extends comparable> Comparator naturalOrder() </t>
  • Метод сортує елементи в природному порядку (за зростанням).
  • Він розміщує null у верхній частині, якщо такий є.
  • Він розміщує елементи великих літер першими в природному порядку, а потім малі літери в природному порядку, якщо список містить і малі, і великі літери.

Параметри

T: Порівняний тип елемента для порівняння.

java масив байтів до рядка

приклад

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

Вихід:

читання файлу csv в java
Як відсортувати список у Java

Метод Java Collections.reverseOrder().

Це метод класу Java Collections, який належить пакету java.lang. Він повертає компаратор, який накладає зворотний порядок до природного. Сигнатура методу:

 public static Comparator reverseOrder() 

Параметри

Клас об’єктів, які порівнює компаратор.

приклад

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

Вихід:

Як відсортувати список у Java

Метод Java Collections.sort().

Клас Collections має два методи сортування списку:

метод sort().

Метод sort() сортує список у порядку зростання відповідно до природного порядку його елементів. Сигнатура методу:

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

Параметри

java для типів циклів

T: Це параметр типу.

список: список для сортування.

Давайте подивимося інший приклад методу Collections.sorts().

приклад

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

Вихід:

Як відсортувати список у Java