Language/Java
[Java] String 배열 대소문자 구분 없이 오름차순/내림차순 정렬하기
Chef.Yeon
2023. 3. 10. 02:06
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