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