-
(Java)Arrays.deepToString - 2차원 배열 출력Java & Kotlin 2021. 3. 11. 21:38반응형
오늘은 2차원 배열의 출력에 대해서 알아보려고 합니다.
사실 1차원 배열은 아주 간단합니다.
위의 코드에서처럼 컬렉션 프레임워크의 Arrays 클래스를 이용해서 toString 메소드를 사용하면 됩니다. Arrays 클래스의 사용은 익숙하지 않은 경우가 있더라도, toString 메소드는 무엇인가 출력할 때 많이 사용하기 때문에 익숙할 것입니다.
하지만 'int[][] arr'와 같이 2차원 배열을 출력하게 되면 값이 출력되는 것이 아니라, 각 객체의 주소가 나오게 됩니다. 실제 메모리의 주소는 아니고, IDE에서 임의로 붙이는 번호지 않나 추측합니다.
그렇다면 2차원 배열의 값이 잘 들어갔는지 확인하려면 어떻게 해야 할까요?
Arrays.deepToString
간단하게 deepToString 메소드를 사용하면 됩니다. 'deep'이 추가된 이름만 보더라도 느낌이 오지 않나요?
Java 11 API document 설명
공식 문서에 따르면 배열의 '깊은 콘텐츠(deep content)'를 String 형태로 반환한다고 합니다. 이러한 깊은 콘텐츠는 배열이 요소로서 다른 배열을 가지고 있을 때라고 합니다. 그리고 이 메소드는 '다차원 배열'을 String 형태로 변환하기 위해서 만들어졌다고 합니다.
2차원 배열의 값을 출력하기에 좋은 메소드 입니다. 왜냐하면 2차원 배열은 1개의 배열 안에 요소로서 다른 배열을 가지고 있는 형태입니다. 위의 코드를 기준으로 2개의 요소로 이루어진 배열을 2개 가지고 있는 것과 같습니다.
반응형'Java & Kotlin' 카테고리의 다른 글
(java)String vs StringBuilder 수행 시간 차이 (4) 2021.03.28 (Java)파사드 디자인 패턴 - Facade Design Pattern (0) 2021.03.28 (Java)Comparator 인터페이스 / compare 메소드 (0) 2021.03.04 (Java)ArrayList vs LinkedList 시간 복잡도 (0) 2021.02.22 (Java)Scanner vs BufferedReader (0) 2021.02.04