How To Print An Array In Java
Maybe your like
In this article, we will show you a few ways to print a Java Array.
Table of contents.
- 1. JDK 1.5 Arrays.toString
- 2. Java 8 Stream APIs
- 3. Java 8 Stream APIs – Collectors.joining
- 4. Jackson APIs
- 5. References
1. JDK 1.5 Arrays.toString
We can use Arrays.toString to print a simple array and Arrays.deepToString for 2d or nested arrays.
PrintArray1.java package com.mkyong; import java.util.Arrays; public class PrintArray1 { public static void main(String[] args) { // string array String[] strArray = new String[]{"Java", "Node", "Python", "Ruby"}; System.out.println(Arrays.toString(strArray)); // Output : [Java, Node, Python, Ruby] // int Array int[] intArray = {1, 3, 5, 7, 9}; System.out.println(Arrays.toString(intArray)); // Output : [1, 3, 5, 7, 9] // 2d array, need Arrays.deepToString String[][] strArrayDeep = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}}; System.out.println(Arrays.toString(strArrayDeep)); // Output : [[Ljava.lang.String;@23fc625e, [Ljava.lang.String;@3f99bd52] System.out.println(Arrays.deepToString(strArrayDeep)); // Output : [[mkyong1, mkyong2], [mkyong3, mkyong4] int[][] intArrayDeep = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}}; System.out.println(Arrays.toString(intArrayDeep)); // Output : [[I@3a71f4dd, [I@7adf9f5f] System.out.println(Arrays.deepToString(intArrayDeep)); // Output : [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]] } }Output
Terminal [Java, Node, Python, Ruby] [1, 3, 5, 7, 9] [[Ljava.lang.String;@41629346, [Ljava.lang.String;@404b9385] [[mkyong1, mkyong2], [mkyong3, mkyong4]] [[I@682a0b20, [I@3d075dc0] [[1, 3, 5, 7, 9], [2, 4, 6, 8, 10]]2. Java 8 Stream APIs
In Java 8, we can use Stream APIs to convert a simple array into a stream and print it out one by one; for 2d or nested array, we need to use flatMap.
PrintArray2.java package com.mkyong; import java.util.Arrays; public class PrintArray2 { public static void main(String[] args) { // simple array String[] strArray = new String[]{"Java", "Node", "Python", "Ruby"}; Arrays.stream(strArray).forEach(System.out::println); int[] intArray = {1, 3, 5, 7, 9}; Arrays.stream(intArray).forEach(System.out::println); //2d array String[][] strArrayDeep = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}}; Arrays.stream(strArrayDeep).flatMap(Arrays::stream).forEach(System.out::println); int[][] intArrayDeep = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}}; Arrays.stream(intArrayDeep).flatMapToInt(Arrays::stream).forEach(System.out::println); // lambda // Arrays.stream(intArrayDeep).flatMapToInt(x -> Arrays.stream(x)).forEach(System.out::println); } }Output
Terminal Java Node Python Ruby 1 3 5 7 9 mkyong1 mkyong2 mkyong3 mkyong4 1 3 5 7 9 2 4 6 8 103. Java 8 Stream APIs – Collectors.joining
The below example uses the Collectors.joining to join arrays into a string and print it out.
PrintArray3.java package com.mkyong; import java.util.Arrays; import java.util.stream.Collectors; import java.util.stream.IntStream; import java.util.stream.Stream; public class PrintArray3 { public static void main(String[] args) { // simple array String[] strArray = new String[]{"Java", "Node", "Python", "Ruby"}; String strArrayCollect = Arrays.stream(strArray).collect(Collectors.joining(", ")); System.out.println(strArrayCollect); // alternative System.out.println(String.join(", ", strArray)); int[] intArray = {1, 3, 5, 7, 9}; String intArrayCollect = Arrays.stream(intArray) .mapToObj(Integer::toString) .collect(Collectors.joining(", ")); System.out.println(intArrayCollect); //2d array String[][] strArrayDeep = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}}; String strArrayDeepCollect = Arrays.stream(strArrayDeep) .flatMap(Arrays::stream) .collect(Collectors.joining(", ")); System.out.println(strArrayDeepCollect); int[][] intArrayDeep = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}}; String intArrayDeepCollect = Arrays.stream(intArrayDeep).flatMapToInt(Arrays::stream) .mapToObj(Integer::toString) .collect(Collectors.joining(", ")); System.out.println(intArrayDeepCollect); } }Output
Terminal Java, Node, Python, Ruby Java, Node, Python, Ruby 1, 3, 5, 7, 9 mkyong1, mkyong2, mkyong3, mkyong4 1, 3, 5, 7, 9, 2, 4, 6, 8, 104. Jackson APIs
We can use the Jackson API ObjectMapper to print anything.
pom.xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.13.0</version> </dependency> PrintUtils.java package com.mkyong; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class PrintUtils { private static final ObjectMapper om = new ObjectMapper(); public static void print(Object object) { String result; try { result = om.writerWithDefaultPrettyPrinter().writeValueAsString(object); System.out.println(result); } catch (JsonProcessingException e) { e.printStackTrace(); } } } PrintArray4.java package com.mkyong; public class PrintArray4 { public static void main(String[] args) { // simple array String[] strArray = new String[]{"Java", "Node", "Python", "Ruby"}; PrintUtils.print(strArray); int[] intArray = {1, 3, 5, 7, 9}; PrintUtils.print(intArray); //2d array or nested array String[][] strArrayDeep = new String[][]{{"mkyong1", "mkyong2"}, {"mkyong3", "mkyong4"}}; PrintUtils.print(strArrayDeep); int[][] intArrayDeep = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}}; PrintUtils.print(intArrayDeep); } }Output
Terminal [ "Java", "Node", "Python", "Ruby" ] [ 1, 3, 5, 7, 9 ] [ [ "mkyong1", "mkyong2" ], [ "mkyong3", "mkyong4" ] ] [ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ]5. References
- Jackson – How to parse JSON
- Arrays JavaDoc
- Jackson 2 GitHub
- Java 8 flatMap example
Tag » How To Print An Array
-
Java Program To Write An Array Of Strings To The Output Console
-
Java Program To Print An Array - Programiz
-
What's The Simplest Way To Print A Java Array? - Stack Overflow
-
How To Print Array With Elements In Java? [Solution + Example]
-
How To Print Array In Java - Javatpoint
-
Java Program To Print The Elements Of An Array - Javatpoint
-
Java Array Methods – How To Print An Array In Java - FreeCodeCamp
-
Program To Print Array In C - Tutorialspoint
-
How To Print An Array In Python - AskPython
-
How To Print Elements Of An Array In Java - Software Testing Help
-
How To Print An Array In Java - Linux Hint
-
How To Print An Array In Java - Stack Abuse
-
How To Print An Array In Java With Multiple Methods
-
Different Ways To Print The Elements Of An Array In C# - Code Maze