# Java 배열 관련 주요 메서드 정리
---
## 1. 배열 비교: `Arrays.equals()`
```java
Arrays.equals(array1, array2);
```
설명
| 내용
|
---|
비교 대상
| 두 배열의 ****크기와 요소 값****을 모두 비교
|
반환값
| `true`(같음), `false` (다름)
|
주의
| `==` 또는`.equals()`는 배열 주소 비교이므로 사용 ❌
|
🔍 예시:
```java
int[] a = {1, 2, 3};
int[] b = {1, 2, 3};
System.out.println(Arrays.equals(a, b)); // ✅ true
System.out.println(a == b); // ❌ false (주소 비교)
```
---
## 2. 배열 복사: `Arrays.copyOf()`
```java
Arrays.copyOf(원본배열, 복사할길이);
```
원본 배열의 앞에서부터 지정한 길이만큼 복사하여 새 배열을 생성한다.
반환값은새로운 배열이고, 원본과 별개의 객체이다.
🔍 예시:
```java
int[] original = {1, 2, 3, 4};
int[] copied = Arrays.copyOf(original, 2); // [1, 2]
```
### ✨ 확장 사용: 길이 초과 시 `0`으로 채움
```java
int[] extended = Arrays.copyOf(original, 6); // [1, 2, 3, 4, 0, 0]
```
---
## 3. 부분 복사: `Arrays.copyOfRange()`
```java
Arrays.copyOfRange(배열, 시작인덱스, 끝인덱스);
```
시작 인덱스부터 ****끝 인덱스 전까지**** 복사한다.
반환값은 새로운 배열 (구간 복사)이다.
한 마디로 배열의 슬라이싱을 구현한다.
🔍 예시:
```java
int[] sub = Arrays.copyOfRange(original, 1, 3); // [2, 3]
```
---
## 4. 배열 정렬: `Arrays.sort()`
```java
Arrays.sort(배열);
```
배열을 오름차순 정렬할 때 쓴다. (in-place 정렬, 반환값 없음 `void`)
void타입을 반환하기 때문에 새로운 변수에 담을 수 없다.
정렬 기준(숫자: 오름차순, 문자열: 유니코드 기준)
🔍 예시:
```java
int[] arr = {5, 1, 3};
Arrays.sort(arr); // arr → [1, 3, 5]
```
---
## 5. 배열 출력: `Arrays.toString()`
```java
Arrays.toString(배열);
```
배열의 내용을 문자열로 출력한다. (디버깅용)
🔍 예시:
```java
System.out.println(Arrays.toString(arr)); // [1, 3, 5]
```
---
## 6. 배열 채우기: `Arrays.fill()`
```java
Arrays.fill(배열, 값);
```
모든 요소를 동일한 값으로 초기화한다.
🔍 예시:
```java
int[] arr = new int[5];
Arrays.fill(arr, 7); // arr → [7, 7, 7, 7, 7]
```
---
## 7. 배열 이진 탐색: `Arrays.binarySearch()`
```java
Arrays.binarySearch(정렬된배열, 찾을값);
```
정렬된 배열에서 이진 탐색을 수행한다.
반환값은 인덱스이다. (없으면 음수)
🔍 예시:
```java
int[] sorted = {1, 2, 3, 4};
int idx = Arrays.binarySearch(sorted, 3); // 2
```
---
## ✅ 요약
기능
| 메서드
|
---|
배열 내용 비교
| `Arrays.equals()`
|
전체 복사
| `Arrays.copyOf()`
|
부분 복사
| `Arrays.copyOfRange()`
|
배열 정렬
| `Arrays.sort()`
|
배열 출력
| `Arrays.toString()`
|
배열 초기화
| `Arrays.fill()`
|
이진 탐색
| `Arrays.binarySearch`
|
---
## ✅ 코테에서 자주 쓰는 조합
상황
| 추천 조합
|
---|
두 문자열이 같은 문자로 이루어졌는지 확인
| `toCharArray()` → `Arrays.sort()` → `Arrays.equals()`
|
원본 배열 유지하며 정렬
| `Arrays.copyOf()` + `Arrays.sort()`
|
배열 슬라이스
| `Arrays.copyOfRange()`
|
---