안녕하세요. 제임스 입니다.
이번에는 Java에서 배열을 정렬하는 방법에 대해 알아 보겠습니다.
Java 에서 배열(array)을 정렬하는 방법은 간단합니다. 바로 자바에서 제공하고 있는 함수를 사용하는 것이죠.
제목에도 보시면 아시겠지만 Arrays.sort(배열) 이라는 함수를 사용하면 됩니다.
■ 숫자 배열의 정렬
int numSort[] = {37, 27, 40, 30, 28, 19};
Arrays.sort(numSort);
for(int i = 0; i < numSort.length; i++){
System.out.println("[ i = "+i+" ]--------[ "+numSort[i]+" ]");
}
numSort 라는 배열에 6개의 숫자를 추가 했습니다.
그리고 Arrays.sort() 함수를 이용하여 numSort 배열을 정렬 합니다.
그리고 그것을 for loop 을 돌려서 로그를 찍어 봤습니다.
물론 결과는 예상 하시는 대로 나옵니다 :)
[ i = 0 ]--------[ 19 ]
[ i = 1 ]--------[ 27 ]
[ i = 2 ]--------[ 28 ]
[ i = 3 ]--------[ 30 ]
[ i = 4 ]--------[ 37 ]
[ i = 5 ]--------[ 40 ]
이쁘게 정렬이 되었습니다.
■ 영문 배열의 정렬
숫자는 위와 같이 정렬이 됨을 확인 했지만.... 문자열은? 영문 배열은? 이라는 의문 부호가 붙을 수 있습니다.
영문 배열도 숫자와 동일한 방식으로 처리 하면 됩니다.
아래 예제를 함께 보시겠습니다.
String engStrSort[] = {"lovely", "random", "uptown", "girl", "extra"};
Arrays.sort(engStrSort);
for(int i = 0; i < engStrSort.length; i++){
System.out.println("[ i = "+i+" ]--------[ "+engStrSort[i]+" ]");
}
처음 숫자 배열과 다른건 딱 하나 있습니다. 바로 배열 형이 int 에서 String 으로 바뀐것 그리고 배열 값들이 숫자가 아닌 영문으로 바뀐 것이죠?
결과는 역시 아래와 같이 나옵니다 :)
[ i = 0 ]--------[ extra ]
[ i = 1 ]--------[ girl ]
[ i = 2 ]--------[ lovely ]
[ i = 3 ]--------[ random ]
[ i = 4 ]--------[ uptown ]
■ 한글 배열의 정렬
숫자도 해봤고 영문도 해봤는데 특별히 다를게 있을까요?
당연히 영문 배열의 정렬때와 동일하게 처리 하면 됩니다. 다만 텍스만 영문을 한글로 바꾸는 거죠?
한글도 당연히 이쁘게 정렬을 해줍니다.
String korStrSort[] = {"박길동", "이영자", "홍길동", "장발장", "신발장"};
Arrays.sort(korStrSort);
for(int i = 0; i < korStrSort.length; i++){
System.out.println("[ i = "+i+" ]--------[ "+korStrSort[i]+" ]");
}
결과는 당연히 아래와 같이 이쁘게 정렬되어 나옵니다.
[ i = 0 ]--------[ 박길동 ]
[ i = 1 ]--------[ 신발장 ]
[ i = 2 ]--------[ 이영자 ]
[ i = 3 ]--------[ 장발장 ]
[ i = 4 ]--------[ 홍길동 ]
고맙게도 자바에서 sort 함수를 제공해주어 우리는 편하게 배열의 정렬을 할 수 있습니다.
▼ 도움이 되셨다면 로그인이 필요 없는 ▼
▼ 하트 클릭 한번 부탁 드립니다 ▼
감사합니다 :D
'Java' 카테고리의 다른 글
[ 자바 코딩 ] Java replace() vs replaceAll() (7) | 2017.11.20 |
---|---|
[ 자바 코딩 ] Java compareTo(), compareToIgnoreCase() 함수 (6) | 2017.11.15 |
[ 자바 코딩 ] 자바 charAt(), indexOf(), lastIndexOf(), length() (6) | 2017.11.14 |
[자바 코딩] 자바 랜덤 함수 (4) | 2017.09.29 |
[Java] java.lang.NullPointerException 오류 (465) | 2017.08.26 |