이것 저것 개발 공부/JAVA
[Java] 배열
crushed-taro
2025. 2. 27. 13:17
728x90
반응형
Java 배열이란
Java에서 배열(Array)은 동일한 타입의 여러 값을 저장할 수 있는 자료 구조입니다. 배열을 활용하면 데이터를 효율적으로 관리하고 반복문과 함께 사용할 수 있어 코드의 간결성과 실행 속도를 높일 수 있습니다.
1. 배열의 개요
배열(Array)은 연속된 메모리 공간에 요소를 저장하며, 인덱스를 이용해 접근할 수 있습니다. Java에서 배열은 new키워드를 사용하여 생성됩니다.
int[] numbers = new int[5]; // 크기가 5인 정수형 배열 선언
- 고정된 크기: 배열의 크기는 생성 시 결정되며 이후 변경할 수 없습니다.
- 동일한 데이터 타입: 배열에는 같은 타입의 데이터만 저장할 수 있습니다.
- 인덱스 기반 접근: 배열 요소는 0부터 시작하는 인덱스를 통해 접근합니다.
2. 배열 선언 및 초기화
1. 배열 선언
// 선언과 동시에 크기 할당
int[] arr1 = new int[3];
// 선언과 동시에 값 할당
int[] arr2 = {1, 2, 3, 4, 5};
2. 배열 값 접근 및 변경
int[] numbers = {10, 20, 30};
System.out.println(numbers[1]); // 20 출력
numbers[1] = 50;
System.out.println(numbers[1]); // 50 출력
3. 배열의 복사
1. for 문을 이용한 복사
int[] original = {1, 2, 3, 4, 5};
int[] copy = new int[original.length];
for (int i = 0; i < original.length; i++) {
copy[i] = original[i];
}
2. System.arraycopy() 메서드 사용
int[] original = {1, 2, 3, 4, 5};
int[] copy = new int[original.length];
System.arraycopy(original, 0, copy, 0, original.length);
3. Arrays.copyOf() 메서드 사용
import java.util.Arrays;
int[] original = {1, 2, 3, 4, 5};
int[] copy = Arrays.copyOf(original, original.length);
4. 배열의 정렬
1. 순차 정렬 (Sequential Sort)
import java.util.Arrays;
int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers);
2. 선택 정렬 (Selection Sort)
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
}
3. 버블 정렬 (Bubble Sort)
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
4. 삽입 정렬 (Insertion Sort)
public static void insertionSort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
5. 다차원 배열
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println(matrix[1][2]); // 6 출력
728x90
반응형