본문 바로가기
카테고리 없음

[JAVA] Arrays.sort() 오름차순 내림차순

by 잉ㅈI 2024. 1. 31.

자바에서 정렬을 할 경우 Arrays의 sort()함수를 많이 사용하는데!! 정확하게 알아보자:)

 

Arrays 사용하려면 import java.util.Arrays; 해줘야함!!

1. 오름차순

어떤 배열이든 미리 선언을 해야함!

Arrays.sort()함수를 사용하면된다 ^,^

int[] array = {3,4,1,2,5}; //int[] array = new int[] {3,4,1,2,5};
Arrays.sort(array);

 

 

**배열 출력시

1) Arrays의 toString() 사용

System.out.println(Arrays.toString(array)); //[1,2,3,4,5]

그냥  array 혹은 array.toString() 할 시 메모리주소값 출력되니 주의하자!

 

2) 반복문사용

for (int i = 0; i < array.length; i++) {   
	System.out.println(array[i]);      //12345    
}

 

 

2. 내림차순

Collections.reverseOrder()를 사용하면된다 ^&^

Integer[] array = new Integer[] {3,4,1,2,5};
Arrays.sort(array, Collections.reverseOrder()); //[5,4,3,2,1]

 

byte, char, int, long 같은 PrimativeType은 불가능하다ㅠㅠ 흙..

Integer, String 와 같은 Wrapper Class만 가능하다는 사실 ..

 

int[]도 내림차순으로 정렬하고 싶다면 

1)배열을 오름차순으로 정렬  => 그래야 내림차순 정렬이 가능!

2)배열을 뒤집는 메서드 구현

로 가능하다!

 

아래는 배열을 뒤집는 메서드이다.

public static void reverseArray(int[] array) {
    int start = 0;
    int end = array.length - 1;
    while (start < end){
        //첫번째 요소와 마지막 요소 교확
        int tmp = array[start];
        array[start] = array[end];
        array[end] = tmp;
        //다음요소 이동
        start++;
        end--;
    }
}

 

 

+)String을 내림차순으로 정렬하고 싶다면?

1) String을 charArray로 타입변경 .toCharArray()

2)이후 sort()하여 오름차순 정렬

2-1) new String으로 string 만들기

3)stringbuilder 로 reverse() 문자열 뒤집기

4).toString()으로 String만들기