자바에서 정렬을 할 경우 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만들기