자바

자바 배열 가이드

끄적인다 2024. 6. 23. 12:00
반응형

자바(Java)에서 배열은 같은 타입의 여러 변수를 하나의 이름으로 관리할 수 있는 데이터 구조입니다. 배열은 인덱스를 사용하여 배열 내의 각 요소에 접근할 수 있으며, 고정된 크기를 가지는 특징이 있습니다. 이 글에서는 자바의 배열에 대해 자세히 살펴보겠습니다.

1. 배열의 선언과 초기화

배열 선언

배열을 선언할 때는 배열의 타입과 배열 이름을 지정합니다. 배열 타입은 기본 데이터 타입이나 객체 타입이 될 수 있습니다.

// 정수형 배열 선언
int[] numbers;

// 문자열 배열 선언
String[] names;

배열 초기화

배열을 초기화할 때는 배열의 크기를 지정하거나, 초기값을 제공할 수 있습니다.

// 크기를 지정하여 배열 초기화
numbers = new int[5]; // 크기가 5인 정수형 배열 생성

// 초기값을 제공하여 배열 초기화
names = new String[]{"John", "Jane", "Tom"};

배열을 선언과 동시에 초기화할 수도 있습니다.

// 선언과 동시에 크기 지정
int[] scores = new int[3];

// 선언과 동시에 초기값 지정
String[] fruits = {"Apple", "Banana", "Cherry"};

2. 배열의 요소 접근

배열의 각 요소에 접근할 때는 인덱스를 사용합니다. 배열의 인덱스는 0부터 시작합니다.

int[] numbers = {10, 20, 30, 40, 50};

// 배열 요소 접근
System.out.println(numbers[0]); // 출력: 10
System.out.println(numbers[3]); // 출력: 40

// 배열 요소 변경
numbers[2] = 100;
System.out.println(numbers[2]); // 출력: 100

3. 배열의 길이

배열의 길이는 length 속성을 사용하여 얻을 수 있습니다. 배열의 길이는 배열의 크기를 나타냅니다.

String[] animals = {"Cat", "Dog", "Elephant"};

int length = animals.length;
System.out.println("배열의 길이: " + length); // 출력: 배열의 길이: 3

4. 배열의 반복문 사용

배열을 반복문을 사용하여 순회할 수 있습니다. for 문이나 향상된 for 문을 사용하여 배열의 각 요소에 접근할 수 있습니다.

for문을 사용한 배열 순회

int[] numbers = {1, 2, 3, 4, 5};

for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

향상된 for문을 사용한 배열 순회

String[] fruits = {"Apple", "Banana", "Cherry"};

for (String fruit : fruits) {
    System.out.println(fruit);
}

5. 다차원 배열

자바에서는 2차원 이상의 다차원 배열을 사용할 수 있습니다. 다차원 배열은 배열 안에 배열이 있는 구조를 가집니다.

2차원 배열 선언과 초기화

// 2차원 배열 선언
int[][] matrix;

// 2차원 배열 초기화
matrix = new int[3][3]; // 3x3 크기의 2차원 배열 생성

// 선언과 동시에 초기화
int[][] scores = {
    {90, 80, 70},
    {85, 95, 75},
    {100, 90, 80}
};

2차원 배열의 요소 접근

2차원 배열의 요소에 접근할 때는 두 개의 인덱스를 사용합니다.

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

// 2차원 배열 요소 접근
System.out.println(matrix[0][0]); // 출력: 1
System.out.println(matrix[2][1]); // 출력: 8

// 2차원 배열 요소 변경
matrix[1][2] = 10;
System.out.println(matrix[1][2]); // 출력: 10

2차원 배열의 반복문 사용

2차원 배열을 순회할 때는 중첩된 반복문을 사용합니다.

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};

for (int i = 0; i < matrix.length; i++) {
    for (int j = 0; j < matrix[i].length; j++) {
        System.out.print(matrix[i][j] + " ");
    }
    System.out.println();
}

6. 배열의 유틸리티 메서드

자바의 java.util.Arrays 클래스는 배열을 다루기 위한 유틸리티 메서드를 제공합니다. 이 클래스는 배열을 정렬, 검색, 복사 등의 작업을 할 수 있는 다양한 메서드를 포함하고 있습니다.

배열 정렬

import java.util.Arrays;

int[] numbers = {5, 3, 8, 1, 2};
Arrays.sort(numbers);

System.out.println(Arrays.toString(numbers)); // 출력: [1, 2, 3, 5, 8]

배열 복사

int[] original = {1, 2, 3};
int[] copy = Arrays.copyOf(original, original.length);

System.out.println(Arrays.toString(copy)); // 출력: [1, 2, 3]

배열 검색

int[] numbers = {1, 2, 3, 4, 5};
int index = Arrays.binarySearch(numbers, 3);

System.out.println("3의 인덱스: " + index); // 출력: 3의 인덱스: 2

결론

이 글에서는 자바의 배열에 대해 자세히 살펴보았습니다. 배열은 같은 타입의 데이터를 효율적으로 관리할 수 있는 유용한 도구입니다. 이를 잘 활용하면 복잡한 데이터 구조를 간단하게 처리할 수 있습니다. 추가적인 질문이 있으면 언제든지 댓글로 남겨주세요!

반응형