Chef.Yeon
Code Cook
Chef.Yeon
전체 방문자
오늘
어제
  • 분류 전체보기 (230)
    • 게임 개발 (1)
      • Unity (1)
    • Android (27)
      • Kotlin (19)
      • 우아한테크코스 5기 (4)
    • Language (11)
      • 파이썬 (3)
      • Java (7)
    • DB (2)
      • SQL (16)
    • Spring (25)
    • 코딩테스트 (56)
    • Git (1)
    • TIL (85)
    • DevOps (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Android
  • Wil
  • 프로그래머스
  • ec2
  • 우아한테크코스
  • 코틀린
  • 백준
  • 에라토스테네스의 체
  • webflux
  • java
  • 안드로이드
  • enum
  • 코딩테스트
  • til
  • grafana
  • kibana
  • elasticsearch
  • rsocket
  • 파이썬
  • kotlin
  • SQL
  • spring
  • MariaDB
  • 레포지토리
  • 다이나믹 프로그래밍
  • 문자열
  • Docker
  • 내림차순
  • 프리코스
  • 코틀린 인 액션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chef.Yeon

Code Cook

Language/Java

[Java] String 배열 대소문자 구분 없이 오름차순/내림차순 정렬하기

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

'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
    'Language/Java' 카테고리의 다른 글
    • [Java] Dynamic Programming, DP에 대해 알아보자
    • [Java] 스트림이란? 스트림stream 사용하기
    • [Java] 객체 배열/리스트 오름차순,내림차순 정렬과 다중 조건 정렬
    • [Java] int 배열, List 오름차순/내림차순 정렬
    Chef.Yeon
    Chef.Yeon
    보기 좋고 깔끔한 코드를 요리하기 위해 노력하고 있습니다.

    티스토리툴바