Java의 배열(Arrays)은 동일한 데이터 타입의 값을 효율적으로 관리할 수 있도록 도와주는 데이터 구조입니다. 배열은 고정된 크기의 메모리를 할당받아, 여러 개의 값을 하나의 변수로 처리할 수 있게 해줍니다. 이번 글에서는 Java 배열의 기본 개념, 생성 방법, 활용 예제, 그리고 유용한 배열 메서드를 알아보겠습니다.
1. 배열이란 무엇인가?
배열은 동일한 데이터 타입의 값을 연속된 메모리 공간에 저장하는 자료 구조입니다. 각 값은 인덱스로 접근할 수 있으며, 인덱스는 0부터 시작합니다.
예를 들어, 학생 5명의 점수를 저장하려면 5개의 변수를 선언하는 대신, 배열을 사용하면 하나의 변수로 관리할 수 있습니다.
배열의 특징:
- 같은 데이터 타입만 저장 가능
- 고정된 크기
- 인덱스를 통해 요소에 접근
2. 배열 선언 및 생성
Java에서 배열을 선언하고 생성하는 방법은 다음과 같습니다.
배열 선언
int[] numbers; // 정수형 배열 선언
String[] names; // 문자열 배열 선언
배열 생성
numbers = new int[5]; // 크기가 5인 정수형 배열 생성
names = new String[3]; // 크기가 3인 문자열 배열 생성
배열을 선언과 동시에 생성할 수도 있습니다.
int[] numbers = new int[5];
String[] names = new String[3];
배열 초기화
배열 생성 시 값을 초기화할 수도 있습니다.
int[] numbers = {10, 20, 30, 40, 50}; // 정수형 배열 초기화
String[] names = {"Alice", "Bob", "Charlie"}; // 문자열 배열 초기화
3. 배열 요소 접근 및 수정
배열 요소에 접근하거나 값을 수정하려면 인덱스를 사용합니다.
예제: 배열 요소 접근 및 수정
public class ArrayExample {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
// 배열 요소 접근
System.out.println("첫 번째 요소: " + numbers[0]); // 10
// 배열 요소 수정
numbers[0] = 100;
System.out.println("수정된 첫 번째 요소: " + numbers[0]); // 100
}
}
출력 결과:
첫 번째 요소: 10
수정된 첫 번째 요소: 100
4. 배열 활용 예제
4.1 배열 요소 합계 구하기
public class ArraySum {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
int sum = 0;
for (int number : numbers) {
sum += number;
}
System.out.println("배열 요소의 합: " + sum);
}
}
출력 결과:
배열 요소의 합: 150
4.2 배열 최대값 찾기
public class ArrayMax {
public static void main(String[] args) {
int[] numbers = {10, 50, 20, 70, 30};
int max = numbers[0];
for (int number : numbers) {
if (number > max) {
max = number;
}
}
System.out.println("배열의 최대값: " + max);
}
}
출력 결과:
배열의 최대값: 70
4.3 2차원 배열
Java에서는 2차원 배열을 사용하여 행과 열로 데이터를 저장할 수 있습니다.
public class TwoDimensionalArray {
public static void main(String[] args) {
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();
}
}
}
출력 결과:
1 2 3
4 5 6
7 8 9
5. 배열 관련 유용한 메서드
Java의 Arrays
클래스는 배열을 조작하는 데 유용한 메서드를 제공합니다.
5.1 배열 정렬
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int[] numbers = {40, 10, 30, 20, 50};
Arrays.sort(numbers);
System.out.println("정렬된 배열: " + Arrays.toString(numbers));
}
}
출력 결과:
정렬된 배열: [10, 20, 30, 40, 50]
5.2 배열 검색
import java.util.Arrays;
public class ArraySearch {
public static void main(String[] args) {
int[] numbers = {10, 20, 30, 40, 50};
int index = Arrays.binarySearch(numbers, 30);
System.out.println("30의 인덱스: " + index);
}
}
출력 결과:
30의 인덱스: 2
6. 배열 사용 시 주의사항
- 고정된 크기: 배열은 생성 후 크기를 변경할 수 없습니다. 동적으로 크기를 변경해야 한다면
ArrayList
를 사용하는 것이 좋습니다. - 인덱스 범위: 배열 인덱스는 0부터 시작하며, 유효 범위를 벗어나면
ArrayIndexOutOfBoundsException
이 발생합니다.
결론
Java의 배열은 데이터 관리를 효율적으로 할 수 있는 기본적인 자료 구조입니다. 배열을 활용하면 반복 작업이나 대량의 데이터 처리를 쉽게 구현할 수 있습니다. 이번 글에서 소개한 개념과 예제를 바탕으로 배열을 적극적으로 활용해 보세요!
댓글 쓰기