Java에서 목록 정렬

Lovey Arora 2023년10월12일
  1. Collections.sort() 메소드를 사용하여 Java에서 목록 정렬
  2. Collections.reverseorder() 메소드를 사용하여 Java에서 목록 정렬
  3. Stream.sorted() 메소드를 사용하여 Java에서 목록 정렬
  4. Comparator.naturalOrder() 메서드를 사용하여 Java에서 ArrayList 정렬
Java에서 목록 정렬

목록은 정렬된 컬렉션이며 모든 순서로 항목을 저장할 수 있습니다. 목록에 기존 알고리즘을 적용할 수 있습니다.

이 튜토리얼은 다양한 기능을 사용하여 Java에서 목록을 정렬하는 방법을 보여줍니다.

Collections.sort() 메소드를 사용하여 Java에서 목록 정렬

Collections 클래스의 sort() 함수를 사용하여 목록을 정렬할 수 있습니다. 목록 개체를 사용할 수 있으며 요소의 순서를 수정합니다. 목록을 오름차순으로 정렬합니다.

예를 들어,

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    Collections.sort(slist);
    System.out.println("After Sorting: " + slist);
  }
}

출력:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

위의 코드에서 원본 목록이 적절한 순서로 수정되고 정렬되는 것을 볼 수 있습니다.

목록에는 동일한 유형의 요소가 있어야 합니다. 그렇지 않으면 CLassCastException이 발생합니다.

Collections.reverseorder() 메소드를 사용하여 Java에서 목록 정렬

Collections.reverseorder() 메서드를 사용하여 ArrayList를 내림차순으로 정렬합니다. 우리는 이 방법을 직접 사용하지 않습니다. 먼저 Collections.sort() 메서드를 사용하여 오름차순으로 정렬한 다음 Collections.reverseorder() 메서드를 사용하여 내림차순으로 정렬합니다.

아래 코드를 참조하십시오.

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    Collections.sort(slist, Collections.reverseOrder());
    System.out.println("After Sorting: " + slist);
  }
}

출력:

After Sorting: [9, 8, 6, 5, 4, 2, 1]

위의 코드에서 목록을 만든 다음 Collections.sort() 메서드를 사용하여 정렬했습니다. 그런 다음 Collections.reverseorder() 메서드를 사용하여 내림차순으로 정렬됩니다.

Stream.sorted() 메소드를 사용하여 Java에서 목록 정렬

sorted() 함수는 java.util 패키지에 있는 Stream 인터페이스에 정의되어 있습니다. 이 방법을 사용하면 목록이 오름차순으로 정렬됩니다. 목록의 요소가 동일한 유형이 아닌 경우 java.lang.ClassCastEcxeption이 발생합니다.

여기에서 stream() 함수를 사용하여 목록의 요소 모음을 관리하고 collect()는 요소를 수신 및 저장하고 tolist() 함수는 정렬된 최종 목록을 반환합니다. 주문하다.

예를 들어,

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    List<Integer> sortedList = slist.stream().sorted().collect(Collectors.toList());
    System.out.println("After Sorting: " + sortedList);
  }
}

출력:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

위의 예에서는 새 목록이 생성됩니다.

Comparator.naturalOrder() 메서드를 사용하여 Java에서 ArrayList 정렬

Java의 Comparator 인터페이스는 원하는 데이터 멤버를 기반으로 사용자가 생성한 클래스의 개체를 정렬할 수 있습니다. 목록을 정렬하는 데 사용할 수도 있습니다.

naturalOrder() 함수는 요소를 오름차순으로 정렬합니다.

아래 주어진 코드를 참조하십시오.

import java.util.*;
import java.util.stream.*;

public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    slist.sort(Comparator.naturalOrder());
    System.out.println("After Sorting: " + slist);
  }
}

출력:

After Sorting: [1, 2, 4, 5, 6, 8, 9]

Null 요소는 이 방법을 사용하여 맨 위에 정렬됩니다. 알파벳의 경우 대문자로 시작하는 단어가 먼저 정렬되고 소문자로 시작하는 단어가 오름차순으로 정렬됩니다.

앞서 논의한 대로 reverseOrder() 함수를 사용하여 내림차순으로 정렬할 수 있습니다.

예를 들어,

import java.util.*;
import java.util.stream.*;
public class Main {
  public static void main(String[] args) {
    List<Integer> slist = Arrays.asList(4, 5, 1, 2, 8, 9, 6);
    slist.sort(Comparator.reverseOrder());
    System.out.println("After Sorting: " + slist);
  }
}

출력:

After Sorting: [9, 8, 6, 5, 4, 2, 1]

관련 문장 - Java List