# Java Arrays.sort() 정리
---
## 1. 개요
- `Arrays.sort()`는 Java에서 배열을 정렬할 때 사용하는 정적 메서드이다.
- 이 메서드는 배열을 ****제자리(in-place)**** 에서 정렬하며, ****반환값이 없다 = (**`void`**를 반환한다.)****
---
## 2. 기본 문법
```java
Arrays.sort(배열);
```
매개변수
| 설명
|
---|
배열
| 정렬 대상 (예: `int[]`, `char[]`, `String[]`)
|
---
## 3. 반환값이 `void`인 이유
항목
| 설명
|
---|
제자리 정렬
| `Arrays.sort()`는 원본 배열 자체를 수정함
|
새로운 배열 반환 안 함
| 정렬된 배열을 새로 만들어 반환하지 않음
|
메모리 절약
| 불필요한 배열 복사 없이 빠른 정렬 수행 가능
|
할당 X
| `int[] sorted = Arrays.sort(arr);` ❌ 오류 발생
|
---
## 4. 예시
```java
int[] numbers = {3, 1, 4};
Arrays.sort(numbers); // numbers 자체가 정렬됨
System.out.println(Arrays.toString(numbers)); // [1, 3, 4]
```
---
## 5. 흔한 실수 예시 ❌
```java
int[] sorted = Arrays.sort(numbers); // ❌ 컴파일 에러: void를 int[]에 대입할 수 없음
```
---
## 6. 대안: 정렬된 배열을 새로 만들고 싶다면?
```java
int[] original = {3, 1, 2};
int[] copy = Arrays.copyOf(original, original.length);
Arrays.sort(copy);
```
---
## 7. 관련 메서드
메서드
| 설명
|
---|
`Arrays.sort(arr)`
| 기본 오름차순 정렬
|
`Arrays.sort(arr, Comparator)`
| 사용자 정의 기준 정렬 (객체 배열)
|
`Collections.sort(list)`
| 리스트 정렬 (반환값 없음)
|
---