본문 바로가기

Java

Java 배열 (Array)

Java Array (배열)

Java 배열은 같은 데이터 타입의 여러 값을 하나의 변수로 저장할 수 있는 참조 자료형이다.

배열은 고정된 크기를 가지며, 생성 후에는 크기를 변경할 수 없다.

 

Java의 배열은 인덱스를 통해 요소에 접근하며, 인덱스는 0부터 시작한다.

 

 

 

배열의 선언과 생성

배열을 사용하려면 먼저 배열의 타입과 크기를 정의하여 선언하고, 실제 공간을 할당해야 한다.

 

배열 선언

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 = {1, 2, 3, 4, 5};
String[] names = {"Alice", "Bob", "Charlie"};

 

 

 

배열의 크기와 인덱스

배열의 크기는 array.length를 통해알 수 있다.

배열의 인덱스는 0부터 시작하며, 배열 크기 - 1이 마지막 인덱스이다.

예를 들어, int[] arr = new int[3]; 배열은 arr[0]. arr[1], arr[2]로 접근할 수 있다.

 

잘못된 인덱스를 사용하면 ArrayIndexOutOfBoundsException 예외가 발생한다.

 

 

배열의 요소 접근과 수정

배열의 특정 요소에 접근하거나 값을 수정할 수 있다.

int[] numbers = {1, 2, 3};
System.out.println(numbers[0]);  // 출력: 1

numbers[1] = 10;                 // 인덱스 1의 값 수정
System.out.println(numbers[1]);  // 출력: 10

 

 

 

다차원 배열

Java에서는 다차원 배열도 사용할 수 있다.

다차원 배열은 여러 차원으로 구성된 데이터를 저장하기 위해 사용된다.

각각의 차원은 배열 내에 또 다른 배열을 가지며,

이를 통해 행렬이나 큐브와 같은 구조를 표현하거나 다차원 데이터를 저장할 수 있다.

 

2차원 배열 선언과 생성

int[][] matrix = new int[2][3]; // 2행 3열의 배열 생성

 

 

2차원 배열 초기화

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

 

 

2차원 배열 요소 접근

System.out.println(matrix[0][1]); // 출력: 2
matrix[1][2] = 9;                 // 값 수정

 

 

3차원 배열

int[][][] cube = new int[2][3][4]; // 2층 3행 4열의 3차원 배열 생성

cube[0][1][2] = 42;
cube[1][2][1] = 18;

int value = cube[1][2][1]; // 2층 3행 2열의 원소에 접근

 

 

n차원 배열 이해하기

코드로만 보면 이해하기 어려울 수 있다.

3차원 배열을 기준으로 보면 행,열,깊이를 x,y,z 축을 생각하며 접근하면 쉽다.

예를 들어 cube[1][2][1] = 18; 이면

x = 1, y = 2, z = 1 위치에 값이 18이다.

 

 

 

배열과 관련된 주요 메서드와 클래스

배열 자체는 메서드를 제공하지 않지만, Arrays 클래스는 배열 작업을 돕는 여러 메서드를 제공한다.

 

 

  • Arrays.toString(array): 배열을 문자열로 출력.
  • Arrays.sort(array): 배열을 정렬.
  • Arrays.copyOf(array, newLength): 배열을 특정 크기로 복사.
  • Arrays.equals(array1, array2): 두 배열의 요소가 동일한지 비교.
import java.util.Arrays;

int[] numbers = {3, 1, 2};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 출력: [1, 2, 3]

 

'Java' 카테고리의 다른 글

Java 조건문 (if, if else, switch case)  (0) 2024.11.14
Java 문자열 (String)  (1) 2024.11.14
Java 형 변환 (Type Casting)  (0) 2024.11.12
Java 변수와 상수  (0) 2024.11.12
Java 자료형 정리 (Java Data Type)  (1) 2024.11.11