자바에서 배열 출력하는 방법
배열(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()은 다차원 배열을 출력할 때 사용됩니다.
이제 여러분도 프로처럼 자바에서 배열을 출력할 준비가 되었습니다!