# 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()`
---