Java 8 이전
Arrays.toString(array)
1 차원 배열과 다차원 배열을 인쇄 하는 데 사용할 수있었습니다 Arrays.deepToString(array)
.
자바 8
이제 우리는 옵션을 가지고 있습니다 Stream
및 lambda
배열을 인쇄 할 수 있습니다.
1 차원 배열 인쇄 :
public static void main(String[] args) {
int[] intArray = new int[] {1, 2, 3, 4, 5};
String[] strArray = new String[] {"John", "Mary", "Bob"};
//Prior to Java 8
System.out.println(Arrays.toString(intArray));
System.out.println(Arrays.toString(strArray));
// In Java 8 we have lambda expressions
Arrays.stream(intArray).forEach(System.out::println);
Arrays.stream(strArray).forEach(System.out::println);
}
출력은 다음과 같습니다.
[1, 2, 3, 4, 5]
[John, Mary, Bob]
1
2
3
4
5
John
Mary
Bob
다차원 배열 인쇄 다차원 배열
을 인쇄하려는 경우 다음 Arrays.deepToString(array)
과 같이 사용할 수 있습니다 .
public static void main(String[] args) {
int[][] int2DArray = new int[][] { {11, 12}, { 21, 22}, {31, 32, 33} };
String[][] str2DArray = new String[][]{ {"John", "Bravo"} , {"Mary", "Lee"}, {"Bob", "Johnson"} };
//Prior to Java 8
System.out.println(Arrays.deepToString(int2DArray));
System.out.println(Arrays.deepToString(str2DArray));
// In Java 8 we have lambda expressions
Arrays.stream(int2DArray).flatMapToInt(x -> Arrays.stream(x)).forEach(System.out::println);
Arrays.stream(str2DArray).flatMap(x -> Arrays.stream(x)).forEach(System.out::println);
}
이제 관찰 할 점은 그 방법 Arrays.stream(T[])
의 경우, int[]
반환 우리 Stream<int[]>
다음 방법은 flatMapToInt()
각 요소에 제공 매핑 기능을 적용하여 생산 매핑 된 스트림의 내용 스트림의 각 요소를 매핑합니다.
출력은 다음과 같습니다.
[[11, 12], [21, 22], [31, 32, 33]]
[[John, Bravo], [Mary, Lee], [Bob, Johnson]]
11
12
21
22
31
32
33
John
Bravo
Mary
이
밥
존슨