String 배열 대소문자 구분하여 오름차순 정렬
기본적으로 Arrays.sort() 사용하여 영문 문자열을 정렬하면 대소문자를 구분하여 정렬합니다.
import java.util.Arrays;
public class caseSort {
public static void main(String[] args) {
String[] strings = {"c", "B", "a", "b", "C", "A"};
//대소문자 구분하여 정렬
Arrays.sort(strings);
System.out.println(Arrays.toString(strings));
}
}
String 배열 대소문자 구분 없이 오름차순 정렬
Comparator에 String.CASE_INSENSITIVE_ORDER 를 전달하면 대소문자 구분없이 정렬합니다.
이때, a와 A는 같은 순위로 취급되어, 배열에서의 원래 순서를 유지합니다.
import java.util.Arrays;
public class caseSort {
public static void main(String[] args) {
String[] strings = {"c", "B", "a", "b", "C", "A"};
//대소문자 구분없이 정렬
Arrays.sort(strings, String.CASE_INSENSITIVE_ORDER);
System.out.println(Arrays.toString(strings));
}
}
배열에서의 a와 A의 순서를 바꾸면 정렬 결과가 바뀝니다.
import java.util.Arrays;
public class caseSort {
public static void main(String[] args) {
String[] strings = {"c", "B", "A", "b", "C", "a"};
//대소문자 구분없이 정렬
Arrays.sort(strings, String.CASE_INSENSITIVE_ORDER);
System.out.println(Arrays.toString(strings));
}
}
String 배열 대소문자 구분 없이 내림차순 정렬
보통 내림차순으로 정렬하면 Arrays.sort(객체명, Collections.reverseOrder()) 를 사용합니다.
대소문자 구분없이 내림차순으로 정렬하려면 Comparator에 Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER) 를 전달하면 됩니다.
import java.util.Arrays;
import java.util.Collections;
public class caseSort {
public static void main(String[] args) {
String[] strings = {"c", "B", "A", "b", "C", "a"};
//대소문자 구분없이 내림차순 정렬
Arrays.sort(strings, Collections.reverseOrder(String.CASE_INSENSITIVE_ORDER));
System.out.println(Arrays.toString(strings));
}
}
728x90
'Language > Java' 카테고리의 다른 글
[Java] Dynamic Programming, DP에 대해 알아보자 (0) | 2023.03.11 |
---|---|
[Java] 스트림이란? 스트림stream 사용하기 (0) | 2023.03.11 |
[Java] 객체 배열/리스트 오름차순,내림차순 정렬과 다중 조건 정렬 (0) | 2023.03.09 |
[Java] int 배열, List 오름차순/내림차순 정렬 (0) | 2023.03.09 |
[Java] Collection에 저장된 요소 출력하기 (Iterator, ListIterator) (0) | 2023.03.07 |