-
[Java] ComparatorJava 2023. 12. 3. 18:16
Comparator를 사용하여 문자열 리스트를 다양한 방식으로 정렬할 수 있다.
1. 역순으로 정렬
Collections.sort(list, Comparator.reverseOrder());
2. 문자열의 길이에 따라 정렬
Collections.sort(list, Comparator.comparingInt(String::length));
2. 대소문자를 구분하지 않고 알파벳 순으로 정렬
Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
2. 문자열의 길이에 따라 정렬
Collections.sort(list, Comparator.comparingInt(Integer::parseInt));
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class SortingExamples { public static void main(String[] args) { // 문자열 리스트 생성 List<String> stringList = new ArrayList<>(); stringList.add("banana"); stringList.add("Apple"); stringList.add("orange"); stringList.add("grape"); stringList.add("Kiwi"); // 1. 사전순으로 정렬 (대소문자 구분) Collections.sort(stringList, Comparator.naturalOrder()); System.out.println("1. Natural Order: " + stringList); // 2. 대소문자 구분 없이 사전순으로 정렬 Collections.sort(stringList, String.CASE_INSENSITIVE_ORDER); System.out.println("2. Case-Insensitive Order: " + stringList); // 3. 문자열의 길이에 따라 정렬 (짧은 순서) Collections.sort(stringList, Comparator.comparingInt(String::length)); System.out.println("3. Sort by Length: " + stringList); // 4. 문자열의 길이에 따라 정렬 (긴 순서) Collections.sort(stringList, Comparator.comparingInt(String::length).reversed()); System.out.println("4. Sort by Length (Descending): " + stringList); // 5. 대소문자 구분 없이 문자열의 길이에 따라 정렬 (짧은 순서) Collections.sort(stringList, Comparator.comparingInt(String::length) .thenComparing(String.CASE_INSENSITIVE_ORDER)); System.out.println("5. Sort by Length, Case-Insensitive: " + stringList); } }
728x90'Java' 카테고리의 다른 글
[Java] BigInteger 다루기 (0) 2022.10.02 [Java] Map 성적관리 프로그램 (0) 2022.09.19 [Java] Set 성적관리 프로그램 (0) 2022.09.19 [Java] ArrayList 성적관리 프로그램 (0) 2022.09.19 [Java] 참조 자료형 (0) 2022.07.09