Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바 배열 출력 방법 완벽 가이드: toString(), for-each 루프, deepToString() 활용법

자바에서 배열 출력하는 방법

배열(array)은 동일한 데이터 타입의 항목들이 일정한 순서로 나열된 자료 구조로, 자바 프로그래밍의 핵심 요소 중 하나입니다.

자바 개발자들은 데이터를 저장할 때 배열을 자주 사용합니다. 예를 들어, 한 마트에서 판매하는 시리얼바 공급업체 다섯 곳의 이름을 배열에 저장할 수 있고, 근처 호수에 서식하는 아홉 종류의 물고기 이름을 다른 배열에 담을 수도 있습니다.

자바에서 배열을 다루다 보면 배열의 내용을 출력해야 하는 상황이 자주 발생합니다. 이를 위한 방법은 여러 가지가 있습니다.

이 글에서는 예제와 함께 자바에서 배열을 출력하는 세 가지 방법을 살펴봅니다. 끝까지 읽고 나면 자바에서 배열을 전문가처럼 출력할 수 있게 될 것입니다.

자바 배열 기본 개념

배열은 자바 코딩에서 매우 중요한 역할을 합니다. 배열을 사용하면 많은 수의 값을 효율적으로 저장하고 접근할 수 있습니다. 같은 데이터 타입의 값을 담기 위해 여러 개의 변수를 일일이 선언하는 대신, 모든 값을 담는 하나의 배열만 선언하면 되기 때문입니다.

다음은 자바에서 배열을 선언하는 예시입니다:

String[] birds;
birds = new String[10];

위 코드에서는 먼저 문자열 값을 저장할 수 있는 birds라는 배열을 선언했습니다. 그다음 birds 배열이 저장할 수 있는 문자열 값의 개수(10개)를 지정했습니다.

자바 배열의 기본기를 익혔으니, 이제 배열을 출력하는 방법을 하나씩 알아보겠습니다.

Arrays 라이브러리로 배열 출력하기

자바의 Arrays 라이브러리는 배열을 다룰 때 유용한 다양한 함수를 제공합니다. 그중 toString() 메서드를 사용하면 배열의 내용을 손쉽게 콘솔에 출력할 수 있습니다.

Arrays 라이브러리를 코드에서 사용하려면 먼저 해당 라이브러리를 임포트해야 합니다. 다음 코드로 임포트할 수 있습니다:

import java.util.Arrays;

라이브러리를 임포트하면 Arrays의 함수들을 자유롭게 사용할 수 있습니다.

예를 들어, 동네에서 즐겨 찾는 샌드위치 가게 이름을 저장한 배열이 있다고 가정해 보겠습니다. 점심을 먹을 곳을 정하기 위해 이 배열을 콘솔에 출력한다고 해봅시다. 다음과 같이 코드를 작성할 수 있습니다:

import java.util.Arrays;

class PrintSandwichShops {
    public static void main(String[] args) {
        String[] shops = {"Kat's Sandwiches", "Swanson Cafe", "Lakeland's Salads and Sandwiches", "Le Petit Sandwich"};
        System.out.println(Arrays.toString(shops));
    }
}

코드 실행 결과:

[Kat's Sandwiches, Swanson Cafe, Lakeland's Salads and Sandwiches, Le Petit Sandwich]

코드를 하나씩 살펴보겠습니다. 먼저 네 군데 샌드위치 가게 이름을 문자열로 저장하는 shops 배열을 선언했습니다. 그런 다음 Arrays.toString() 메서드로 배열을 읽기 좋은 문자열 형태로 변환하고, println()으로 배열의 항목들을 콘솔에 출력했습니다.

for-each 루프로 배열 출력하기

프로그래밍에서 for 루프는 특정 조건이 충족될 때까지 코드 블록을 반복 실행하는 데 사용됩니다. 예를 들어, 어떤 for 루프는 조건이 만족될 때까지 10번 실행되고, 조건이 충족되면 프로그램은 루프를 벗어나 나머지 코드를 계속 실행합니다.

개발자들은 향상된 for문(enhanced for loop)이라고도 불리는 for-each 루프를 사용해 배열의 모든 항목을 순회(iterate)합니다. 출력문과 함께 사용하면 for-each 루프로 배열의 모든 항목을 순회하며 콘솔에 출력할 수 있습니다.

올해 새 관찰을 하면서 본 새들의 이름을 저장한 배열이 있다고 가정해 보겠습니다. 관찰한 새들의 이름을 확인하기 위해 배열 내용을 콘솔에 출력하고 싶습니다. 다음 코드로 이를 구현할 수 있습니다:

class PrintBirds {
    public static void main(String[] args) {
        String[] birds = {"Robin", "Chaffinch", "Starling", "Goldfinch", "Great Tit"};

        for (String bird: birds) {
            System.out.println(bird);
        }
    }
}

코드 실행 결과:

Robin
Chaffinch
Starling
Goldfinch
Great Tit

위 코드에서는 for-each 루프를 사용해 birds 배열의 모든 새 이름을 순회하며 각각 콘솔에 출력했습니다.

먼저 다섯 개의 문자열 값을 담는 birds 배열을 선언했습니다. 그다음 다음과 같은 문법으로 for-each 루프를 작성했습니다:

for (String bird: birds) {
}

이 문장은 birds 배열의 모든 항목을 하나씩 순회합니다. 그리고 System.out.println()으로 배열의 각 항목을 출력했습니다.

다차원 배열 출력하기

다차원 배열(multidimensional array)은 행(row)과 열(column)로 표현되는 2차원 배열입니다. 다차원 배열을 다루다 보면 내용을 콘솔에 출력해야 할 때가 있습니다.

이 작업은 자바 Arrays 라이브러리에 포함된 Arrays.deepToString() 메서드로 수행할 수 있습니다.

예를 들어, 장르별로 분류한 좋아하는 책 목록을 저장한 다차원 배열이 있다고 가정해 보겠습니다. 첫 번째 행에는 좋아하는 비즈니스 서적이, 두 번째 행에는 좋아하는 자기계발서가 들어 있습니다. 다음 코드로 다차원 배열의 내용을 출력할 수 있습니다:

import java.util.Arrays;

class PrintBooks {
    public static void main(String[] args) {
        String[][] books = {
                {"The Secrets of Sand Hill Road", "The Upstarts"},
                {"Atomic Habits", "How to Win Friends and Influence People"}
                };

        System.out.println(Arrays.deepToString(books));
    }
}

코드 실행 결과:

[[The Secrets of Sand Hill Road, The Upstarts], [Atomic Habits, How to Win Friends and Influence People]]

실행 결과를 보면 다차원 배열의 내용이 그대로 출력된 것을 확인할 수 있습니다. 프로그램의 동작 방식을 자세히 살펴보겠습니다.

먼저 두 개의 행을 가진 books라는 다차원 배열을 선언했습니다. 첫 번째 행에는 좋아하는 비즈니스 서적 목록이, 두 번째 행에는 좋아하는 자기계발서 목록이 저장되어 있습니다.

그다음 Arrays.deepToString() 메서드로 books 배열의 내용을 읽기 좋은 형식으로 변환했습니다. 마지막으로 System.out.println()을 사용해 deepToString() 메서드의 결과를 콘솔에 출력했습니다.

마무리

자바에서 배열을 다룰 때 배열 출력은 매우 흔히 사용되는 기본 연산입니다.

이 글에서는 예제와 함께 자바에서 배열을 출력하는 세 가지 주요 방법을 살펴봤습니다: for-each 루프, Arrays.toString() 메서드, 그리고 Arrays.deepToString() 메서드입니다. 이중 Arrays.deepToString()은 다차원 배열을 출력할 때 사용됩니다.

이제 여러분도 프로처럼 자바에서 배열을 출력할 준비가 되었습니다!