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
반응형