본문 바로가기

JAVA공부

다차원 배열

2차원 배열(2열 배열), 순회

  • 1열로 구성된것을 배열이라고 하고, 이것은 말그대로 1열로 되어있기 때문에 1열배열 즉, 1차원 배열 이라고도 부릅니다.
  • 1열배열을 위로 쌓으면 2열배열이 되고 이걸 2차원 배열이라고 합니다.

  • 선언
    • 2차원 배열을 선언할때는 1차원 배열에 대괄호를 하나더 추가해주면 됩니다.
      • int[][] array
      • int array[][]
      • int[] array[]
  • 생성
    • 2차원 배열을 생성할때도 대괄호를 하나더 추가하면 됩니다.
      • int[][] array = new int[][];
  • 초기화

// 중괄호를 사용해 초기화

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

 

// 반복문을 통한 초기화

int[][] array = new int[2][3]; // 최초 선언

for (int i = 0; i < array.length; i++) {
    for (int j = 0; j < array[i].length; j++) {
        arr[i][j] = 0;  // i, j 는 위 노란색 네모박스 안에있는 숫자를 의미하며 인덱스 라고 부릅니다.
    }
}

 

가변 배열

  • Java 프로그래밍 에서는 2차원 배열을 생성할 때 열의 길이를 생략하여, 행마다 다른 길이의 배열을 요소로 저장할 수 있습니다.
  • 이렇게 행마다 다른 길이의 배열을 저장할 수 있는 배열을 가변 배열이라고 합니다.

예제

package secondJava.array;

public class Arr07 {
    public static void main(String[] args) {
        // 가변 배열

// 선언 및 초기화
        int[][] array = new int[3][];
// 배열 원소마다 각기다른 크기로 지정 가능합니다.
        array[0] = new int[2];
        array[1] = new int[4];
        array[2] = new int[1];

// 중괄호 초기화할때도 원소배열들의 크기를 각기 다르게 생성 가능합니다.
        int[][] array2 = {
                {10, 20},
                {10, 20, 30, 40},
                {10}

        };
    }
}

다차원 배열 조회

  • 2차원 배열 조회할때는 2차원 인덱스를 가진만큼 2중 반복문을 통해 출력할 수 있습니다.
    • 2중 반복문을 통해 가변 배열도 출력 가능합니다.
package secondJava.array;

public class Arr08 {
    public static void main(String[] args) {

        // 최대값 구하기

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

// 최대값 초기값 세팅
        int max = arr[0];

// 최대값 구하기
        for (int num : arr) {
            if (num > max) { // 반복문 돌면서 나(max)보다 값이 작으면 저장
                max = num;
            }
        }

// 최대값 5 출력
        System.out.println(max);






        // 최소값 구하기

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

// 최소값 초기값 세팅
        int min = arr[0];

// 최소값 구하기
        for (int num : arr) {
            if (num < min) { // 반복문 돌면서 나(min)보다 값이 작으면 저장
                min = num;
            }
        }

// 최소값 1 출력
        System.out.println(min);
    }
}

'JAVA공부' 카테고리의 다른 글

List  (0) 2023.10.15
컬렉션  (0) 2023.10.15
String 배열  (0) 2023.10.15
배열 - 복사  (0) 2023.10.15
배열  (0) 2023.10.13