Java에서 목록 정렬
-
Collections.sort()
메소드를 사용하여 Java에서 목록 정렬 -
Collections.reverseorder()
메소드를 사용하여 Java에서 목록 정렬 -
Stream.sorted()
메소드를 사용하여 Java에서 목록 정렬 -
Comparator.naturalOrder()
메서드를 사용하여 Java에서 ArrayList 정렬
목록은 정렬된 컬렉션이며 모든 순서로 항목을 저장할 수 있습니다. 목록에 기존 알고리즘을 적용할 수 있습니다.
이 튜토리얼은 다양한 기능을 사용하여 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]