logo

Java에서 목록을 정렬하는 방법

다음 방법을 사용하여 목록을 정렬할 수 있습니다.

  • stream.sorted() 메소드 사용
  • Comparator.reverseOrder() 메소드 사용
  • Comparator.naturalOrder() 메소드 사용
  • Collections.reverseOrder() 메소드 사용
  • Collections.sort() 메소드 사용

자바 스트림 인터페이스

Java Stream 인터페이스는 목록을 정렬하기 위한 두 가지 방법을 제공합니다.

sorted() 메서드

스트림 인터페이스는 목록을 정렬하는 sorted() 메서드를 제공합니다. 이는 Stream 인터페이스에 정의되어 있습니다. java.util 패키지 . 자연 순서에 따라 정렬된 스트림을 반환합니다. 요소를 비교할 수 없으면 java.lang.ClassCastException이 발생합니다. 메소드의 서명은 다음과 같습니다.

 Stream sorted() 

매개변수

T: 일종의 스트림 요소입니다.

Java Stream.sorted(비교기 비교기)

또한 제공된 비교기에 따라 정렬된 스트림을 반환합니다. 순서가 지정된 스트림에서는 안정적입니다. 메소드의 서명은 다음과 같습니다.

 Stream sorted(Comparator comparator) 

매개변수

  • T는 스트림 요소의 유형입니다.
  • 요소를 비교하는 데 사용되는 비교기

다음 예에서는 다음 방법을 사용했습니다.

  • 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에서 목록을 정렬하는 방법

자바 Comparator.reverseOrder() 메소드

reverseOrder()는 java.util 패키지에 정의되어 있는 Comparator 인터페이스의 메소드입니다. 이 메서드는 자연 순서의 반대를 적용하는 비교기를 반환합니다. null을 비교할 때 NullPointerException이 발생합니다. 메소드 서명은 다음과 같습니다.

 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에서 목록을 정렬하는 방법

자바 비교기.naturalOrder()

이 메서드는 Comparable 개체를 자연 순서로 비교하는 비교기를 반환합니다. 반환된 비교 항목은 직렬화 가능합니다. null을 비교하면 NullPointerException이 발생합니다. Java 8에서 온 것입니다. 메소드의 서명은 다음과 같습니다.

 Static <t extends comparable> Comparator naturalOrder() </t>
  • 이 메서드는 요소를 자연 순서(오름차순)로 정렬합니다.
  • null이 있는 경우 맨 위에 null을 넣습니다.
  • 목록에 소문자와 대문자가 모두 있는 경우 자연 순서로 대문자 요소를 먼저 배치한 다음 자연 순서로 소문자를 배치합니다.

매개변수

T: 비교할 요소의 비교 유형입니다.

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

산출:

Java에서 목록을 정렬하는 방법

Java Collections.reverseOrder() 메소드

java.lang 패키지에 속하는 Java Collections 클래스의 메소드입니다. 자연 순서의 반대를 적용하는 비교기를 반환합니다. 메소드의 서명은 다음과 같습니다.

 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에서 목록을 정렬하는 방법

자바 Collections.sort() 메서드

Collections 클래스에는 목록을 정렬하는 두 가지 방법이 있습니다.

sort() 메서드

sort() 메서드는 해당 요소의 자연스러운 순서에 따라 목록을 오름차순으로 정렬합니다. 메소드의 서명은 다음과 같습니다.

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

매개변수

T: 유형 매개변수입니다.

list: 정렬할 목록입니다.

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에서 목록을 정렬하는 방법