[개발] 자바에서 배열에 값을 출력하는 방법

출처 : https://www.freecodecamp.org/news/java-array-methods-how-to-print-an-array-in-java/

일반적인 배열의 값 출력

배열은 그들의 요소 값을 연속적인 메모리 위치에 저장하고 있습니다.

int[] intArray = {2,5,46,12,34};

System.out.println(intArray);
// 결과물 : [I@74a14482

그래서 위와 같이 출력 해보면 결과물로 해당 보여 줍니다.

좀 더 설명해 보면 println 으로 출력되는 것은 기본적으로 Object.toString() 메소드의 값을 출력 하는 것이고 구성을 살펴보면

getClass().getName()+@+Integer.toHexString(hashCode())

좀 더 쉽게 이야기 해보면 대상 클래스 개체의 해쉬 코드값의 일부를 출력하는 것 입니다.

미리 보기

배열의 개체 요소 값 출력 방법

  1. 반복문 : for 또는 for-each 활용
  2. Arrays.toString()
  3. Arrays.deepToString()
  4. Arrays.asList()
  5. Java Iterator(반복자) interface(인터페이스)
  6. Java Stream(흐름,이어지는 연속적인) API

for / for-each

int[] intArray = {2,5,46,12,34};

for(int i=0; i<intArray.length; i++){
    System.out.print(intArray[i]);
    // 결과물 : 25461234
}

for(int i: intArray){
    System.out.print(i);
    // 결과물 : 25461234
}

Arrays.toString()

java.util 패키지에 포함된 기능 입니다. 1차원 배열의 값이 출력된 형태로 볼 수 있습니다.

int[] intArray = {2,5,46,12,34};
System.out.println(Arrays.toString(intArray));
// 결과물 : [2, 5, 46, 12, 34]

Arrays.deepToString()

1차원 이상의 배열은 Arrays.deepToString() 메소드를 사용하여 내부 값을 출력하도록 합니다.

// 다차원 배열 생성
int[][] multiDimensionalArr = { {2,3}, {5,9} };

System.out.println(Arrays.toString(multiDimensionalArr));
// 결과물 : [[I@74a14482, [I@1540e19d]

System.out.println(Arrays.deepToString(multiDimensionalArr));
// 결과물 : [[2, 3], [5, 9]]

참고로 1차원 배열 또한 Arrays.deepToString() 메소드를 사용해도 됩니다.

Integer[] oneDimensionalArr = {1,4,7};

System.out.println(Arrays.deepToString(oneDimensionalArr));
// 결과물 : [1, 4, 7]
``

# Arrays.asList()

>         .

  Arrays.asList(intArray).toString()    ,     toString ()  .

Teacher[] teacher = { new Teacher("John"), new Teacher("Mary") };

System.out.println(Arrays.asList(teacher));
// 결과물 : [Teacher{name='John'}, Teacher{name='Mary'}]


# 자바 반복자(Iterator) 인터페이스 

Integer[] intArray = {2,5,46,12,34};

// 정수 목록 생성
List< Integer > list = Arrays.asList(intArray);

// 정수 목록의 반복자를 생성
Iterator< Integer > it = list.iterator();

// List에 반복 할 요소가있는 경우
while(it.hasNext()) {
System.out.print(it.next());
// 결과물 : 25461234
}


# 자바  Stream API

> Stream API     .   .             .

Integer[] intArray = {2,5,46,12,34};

Arrays.stream(intArray).forEach(System.out::print);
// 결과물 : 25461234


# 맺음말

  apache commons lang3   ToStringBuilder.reflectionToString()                :) 

   

    .
H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Ecency