| X | Array | ArrayList |
|---|---|---|
| 사이즈 | 고정 int[] arr = new int[3]; | 가변적 ArrayList arrList = new ArrayList<>(); |
| 속도 | 초기화시 메모리에 할당되어 ArrayList보다 속도가 빠름 | 데이터 추가 삭제시 메모리를 재할당하기 때문에 속도가 Array보다 느림 |
| 크기 변경 | 변경 불가 | 추가, 삭제 가능 add(), remove() |
| 다차원 | int[][][] multiArr = new int[3][3][3]; | 불가능 |
java.util.Arrays 클래스를 활용
int[] intArr = new int[] { 2, 5, 4, 1, 3 };
double[] doubleArr = new double[] { 2.5, 5.5, 4.5, 1.5, 3.5 };
// 정렬
🌟 Arrays.sort(intArr);
🌟 Arrays.sort(doubleArr);
// 출력
System.out.println(Arrays.toString(intArr));
System.out.println(Arrays.toString(doubleArr));
-----출력 결과-----
[1, 2, 3, 4, 5]
[1.5, 2.5, 3.5, 4.5, 5.5]
정렬 범위를 지정할 수도 있다.
Arrays.sort(배열, 시작인덱스, 끝인덱스(불포함))
int[] intArr = new int[] {1,3,5,2,4};
Arrays.sort(intArr,2,5); // index 2 ~ 4만 정렬
System.out.println(Arrays.toString(intArr));
----출력 결과-----
[1, 3, 2, 4, 5]
int[] arr = {1, 2, 3, 4, 5};
// stream 사용
Integer[] integerArray = Arrays.stream(arr).boxed().toArray(Integer[]::new);
// 내림차순
Arrays.sort(integerArray, Collections.reverseOrder());
-> [5, 4, 3, 2, 1]
---------------------------------------------------------
🌟
int[] arr = {1, 2, 3, 4, 5};
Integer[] integerArray = new Integer[arr.length];
for (int i = 0; i < arr.length; i++) {
integerArray[i] = arr[i];
}
// 내림차순
Arrays.sort(integerArray, Collections.reverseOrder());
🌟 2. 배열 뒤집기
int[] arr = {5, 3, 8, 1, 9, 2};
// 배열을 오름차순으로 정렬
Arrays.sort(arr);
// 배열 뒤집어 주기
int n = arr.length;
for (int i = 0; i < n / 2; i++) {
int temp = array[i];
array[i] = array[n - 1 - i];
array[n - 1 - i] = temp;
}
Integer[] arr = { 2, 5, 4, 1, 3 };
// 오름차순 정렬
🌟 Arrays.sort(arr);
-> [1, 2, 3, 4, 5]
// 내림차순 정렬
🌟 Arrays.sort(arr, Collections.reverseOrder());
-> [5, 4, 3, 2, 1]
String[] stringArr = new String[] { "Apple", "Cat", "Bear", "Elephant", "Deer" };
// 오름차순 정렬
Arrays.sort(stringArr);
- > [Apple, Bear, Cat, Deer, Elephant]
// 내림차순 정렬
Arrays.sort(stringArr, Collections.reverseOrder());
-> [Elephant, Deer, Cat, Bear, Apple]
Integer[] intArr = new Integer[] {1,2,1,1,1};
Arrays.sort(intArr,Comparator.naturalOrder()); // 오름차순
Arrays.sort(intArr,Comparator.reverseOrder()); // 내림차순
Integer[] intArr = new Integer[] {1,3,5,2,4};
// 오름차순 정렬
Arrays.sort(intArr, (a, b) ->
a - b
);
// 내림차순 정렬
Arrays.sort(intArr, (a, b) ->
b - a
);