Java Arrays Methods
자바에서의 배열 메서드 (Java Arrays Methods)
자바에서 배열은 고정된 크기의 동일한 데이터 타입의 집합을 저장할 수 있는 자료구조입니다. 자바는 배열을 다루기 위한 다양한 메서드를 제공하며, 배열을 쉽게 조작할 수 있습니다.
자바에서는 배열을 위한 Arrays
클래스를 통해 유용한 메서드를 제공하며, 배열과 관련된 다양한 작업을 수행할 수 있습니다.
배열 생성 및 기본 사용법
자바 배열은 리터럴 또는 new
키워드를 사용해 생성할 수 있습니다. 배열의 크기는 한 번 설정되면 변경할 수 없으므로,
고정된 크기를 가지고 있습니다.
배열 생성 예시
public class Main {
public static void main(String[] args) {
// 배열 생성 방법 1: 배열 리터럴 사용
int[] numbers1 = {1, 2, 3, 4, 5};
// 배열 생성 방법 2: new 키워드를 사용하여 배열 생성
int[] numbers2 = new int[5]; // 크기가 5인 배열 생성
numbers2[0] = 10;
numbers2[1] = 20;
numbers2[2] = 30;
// 배열 출력
for (int num : numbers1) {
System.out.println(num);
}
}
}
설명:
- 배열은 0부터 시작하는 인덱스를 가지며, 각 요소에 접근할 수 있습니다.
- 배열을 생성할 때, 배열의 크기는 고정되어 있어 한 번 설정하면 변경할 수 없습니다.
Arrays
클래스의 주요 메서드
자바는 배열을 다루기 위한 유틸리티 클래스인 **
.util.Arrays
**를 제공합니다. 이 클래스는 배열과 관련된 다양한 작업을 쉽게 할 수 있도록 메서드를 제공합니다.1.
Arrays.toString()
: 배열을 문자열로 변환
Arrays.toString()
메서드는 배열을 문자열 형태로 변환하여 출력할 수 있도록 합니다. 배열을 출력할 때 유용하게 사용할 수 있습니다.import java.util.Arrays; public class Main { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; // 배열을 문자열로 변환하여 출력 System.out.println(Arrays.toString(numbers)); } }
출력:
[1, 2, 3, 4, 5]
설명:
Arrays.toString()
은 배열의 요소들을 콤마로 구분하고, 대괄호로 묶어 문자열로 변환합니다.
2. Arrays.sort()
: 배열 정렬
Arrays.sort()
메서드는 배열의 요소들을 오름차순으로 정렬합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {5, 3, 1, 4, 2};
// 배열을 오름차순으로 정렬
Arrays.sort(numbers);
// 정렬된 배열 출력
System.out.println(Arrays.toString(numbers));
}
}
출력:
[1, 2, 3, 4, 5]
설명:
- 오름차순으로 정렬되며, 숫자뿐만 아니라 문자열 배열도 정렬할 수 있습니다.
3. Arrays.equals()
: 배열 비교
Arrays.equals()
메서드는 두 배열이 같은지 여부를 확인합니다. 배열의 길이와 각 요소들이 모두 같을 때 true
를
반환합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers1 = {1, 2, 3};
int[] numbers2 = {1, 2, 3};
int[] numbers3 = {4, 5, 6};
// 배열 비교
System.out.println(Arrays.equals(numbers1, numbers2)); // true
System.out.println(Arrays.equals(numbers1, numbers3)); // false
}
}
출력:
true
false
설명:
- 배열의 크기와 각 요소의 값을 모두 비교합니다.
- 다차원 배열을 비교할 때는 **
Arrays.deepEquals()
*를 사용할 수 있습니다.
4. Arrays.fill()
: 배열의 모든 요소를 특정 값으로 채우기
Arrays.fill()
메서드는 배열의 모든 요소를 특정 값으로 채웁니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = new int[5];
// 배열의 모든 요소를 7로 채우기
Arrays.fill(numbers, 7);
System.out.println(Arrays.toString(numbers)); // [7, 7, 7, 7, 7]
}
}
출력:
[7, 7, 7, 7, 7]
설명:
- 배열의 모든 요소를 동일한 값으로 초기화할 때 유용합니다.
5. Arrays.copyOf()
: 배열 복사
Arrays.copyOf()
메서드는 배열을 복사하여 새로운 배열을 생성합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
// 배열 복사
int[] copy = Arrays.copyOf(original, original.length);
System.out.println(Arrays.toString(copy)); // [1, 2, 3, 4, 5]
}
}
출력:
[1, 2, 3, 4, 5]
설명:
- *
original.length
*로 복사할 배열의 크기를 지정합니다. - 일부만 복사할 수도 있으며, 크기를 변경할 수 있습니다.
6. Arrays.binarySearch()
: 배열에서 요소 검색
Arrays.binarySearch()
메서드는 정렬된 배열에서 특정 값이 있는 인덱스를 찾습니다. 배열은 반드시
정렬되어 있어야 합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// 배열에서 값 3을 이진 검색
int index = Arrays.binarySearch(numbers, 3);
System.out.println("3의 위치: " + index); // 출력: 2 (인덱스는 0부터 시작)
}
}
출력:
3의 위치: 2
설명:
- 배열이 정렬되어 있을 때만 사용 가능하며, 이진 탐색 알고리즘을 사용하여 검색 성능이 빠릅니다.
7. Arrays.deepToString()
: 다차원 배열 출력
Arrays.deepToString()
메서드는 다차원 배열을 문자열로 변환하여 출력할 수 있도록 합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 다차원 배열을 문자열로 출력
System.out.println(Arrays.deepToString(matrix));
}
}
출력:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
설명:
- 다차원 배열을 재귀적으로 순회하여 문자열로 변환합니다.
8. Arrays.deepEquals()
: 다차원 배열 비교
Arrays.deepEquals()
메서드는 다차원 배열을 재귀적으로 비교하여 두 배열이 동일한지 확인합니다.
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[][] matrix1 = {{1, 2}, {3, 4}};
int[][] matrix2 = {{1, 2}, {3, 4}};
int[][] matrix3 = {{5, 6}, {7, 8}};
// 다차원 배열 비교
System.out.println(Arrays.deepEquals(matrix1, matrix2)); // true
System.out.println(Arrays.deepEquals(matrix1, matrix3)); // false
}
}
출력:
true
false
설명:
- 재귀적으로 배열의 각 요소를 비교하여 동일한지 확인합니다.
요약
Arrays.toString()
: 배열을 문자열로 변환하여 출력.Arrays.sort()
: 배열을 오름차순으로 정렬.Arrays.equals()
: 두 배열이 같은지 비교.Arrays.fill()
: 배열의 모든 요소를 특정 값으로 채움.Arrays.copyOf()
: 배열을 복사하여 새로운 배열 생성.Arrays.binarySearch()
: 정렬된
배열에서 특정 요소를 이진 탐색으로 찾음.
Arrays.deepToString()
: 다차원 배열을 문자열로 변환하여 출력.Arrays.deepEquals()
: 다차원 배열을 재귀적으로 비교.
자바의 Arrays
클래스는 배열을 다루는 데 필요한 다양한 메서드를 제공하며, 이를 통해 배열을 쉽게 조작하고 사용할 수 있습니다.