{"id":3289,"date":"2017-03-31T15:29:07","date_gmt":"2017-03-31T09:59:07","guid":{"rendered":"https:\/\/www.wikitechy.com\/technology\/?p=3289"},"modified":"2017-03-31T15:29:07","modified_gmt":"2017-03-31T09:59:07","slug":"java-whats-simplest-way-print-java-array","status":"publish","type":"post","link":"https:\/\/www.wikitechy.com\/technology\/java-whats-simplest-way-print-java-array\/","title":{"rendered":"JAVA &#8211; What&#8217;s the simplest way to print a Java array?"},"content":{"rendered":"<ul>\n<li>Printing array values in Java or values of array element in Java would have been much easier if arrays are allowed to directly prints its values whenever used inside System.out.println() or format and printf method, Similar to various classes in Java do this by overriding toString() method.<\/li>\n<li>Despite being an object, array in Java doesn&#8217;t print any meaningful representation of its content when passed to System.out.println() or any other print methods.<\/li>\n<li>If we are using array in method argument or any other prominent place in code and actually interested in values of array then we don&#8217;t have much choice than for loop until Java 1.4. Things has been changed since Java 5 because it introduced two extremely convenient methods for printing values of both primitive and object arrays in Java.<\/li>\n<li>Arrays.toString(array) and Arrays.deepToString(twoDimensionArray) can print values of any array.<\/li>\n<li>Main difference between Arrays.toString() and Arrays.deepToString is that deepToString is used to print values of multidimensional array which is far more convenient than nesting of multiple for loops.<\/li>\n<\/ul>\n<h4 id=\"how-to-print-int-array-in-java\"><span style=\"color: #800000;\">How to Print int array in Java<\/span><\/h4>\n<ul>\n<li>In order to print integer array, all you need to do is call Arrays.toString(int array) method and pass your integer array to it.<\/li>\n<li>This method will take care of printing content of your integer array, as shown below.<\/li>\n<li>If you directly pass int array to System.out.println(), we will only see type of array and a random number.<\/li>\n<\/ul>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">int[] primes = {5, 7, 11, 17, 19, 23, 29, 31, 37};<br\/>System.out.println(&quot;Prime numbers : &quot; + primes);<br\/>System.out.println(&quot;Real prime numbers : &quot; + Arrays.toString(primes)); \/\/Ok<\/code><\/pre> <\/div>\n<h4 id=\"output\"><strong>Output:<\/strong><\/h4>\n<p>Prime numbers : [I@5eb1404f<br \/>\nReal prime numbers : [5, 7, 11, 17, 19, 23, 29, 31, 37]\n<h4 id=\"how-to-print-byte-array-in-java\"><span style=\"color: #ff6600;\"><strong>How to Print byte array in Java<\/strong><\/span><\/h4>\n<ul>\n<li>printing byte array is no different than printing int array, as Arrays class provides an overloaded method toString(byte[] bytes) to print contents of byte array in Java, as shown below.<\/li>\n<\/ul>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">String random = &quot;In Java programming langue, array is object&quot;;<br\/>byte[] bytes = random.getBytes();<br\/>System.out.println(&quot;What is inside bytes : &quot; + bytes);<br\/>System.out.println(&quot;Not visible, check closely ..&quot; + Arrays.toString(bytes));<\/code><\/pre> <\/div>\n[ad type=&#8221;banner&#8221;]\n<h4 id=\"output-2\"><strong>Output<\/strong><\/h4>\n<p>What is inside bytes : [B@31602bbc<br \/>\nNot visible, check closely ..[73, 110, 32, 74, 97, 118, 97, 32, 112, 114, 111, 103, 114, 97, 109, 109, 105, 110, 103, 32, 108, 97, 110, 97, 103, 117, 101, 44, 32, 97, 114, 114, 97, 121, 32, 105, 115, 32, 111, 98, 106, 101, 99, 116]\n<h4 id=\"how-to-print-string-array-in-java\"><span style=\"color: #993366;\"><strong>How to Print String array in Java<\/strong><\/span><\/h4>\n<ul>\n<li>Printing string array in Java is probably easiest thing to do, because Arrays class has another overloaded version of toString() to accept Object.<\/li>\n<li>This method calls toString() of Object to get a printable String.<\/li>\n<li>This can also be used to print array of any arbitrary object in Java. User defined object must override toString() method to show something reasonable on console.<\/li>\n<\/ul>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">String[] buzzwords = {&quot;Java&quot;, &quot;Android&quot;, &quot;iOS&quot;, &quot;Scala&quot;, &quot;Python&quot;};<br\/>System.out.println(&quot;Buzzing ..&quot; + buzzwords);<br\/>System.out.println(&quot;Not buzzing? try again : &quot; + Arrays.toString(buzzwords));<\/code><\/pre> <\/div>\n<h4 id=\"output-3\"><strong>Output<\/strong>:<\/h4>\n<p>Buzzing ..[Ljava.lang.String;@46f5331a<br \/>\nNot buzzing? try again : [Java, Android, iOS, Scala, Python]\n<h4 id=\"how-to-print-two-dimensional-array-in-java\"><span style=\"color: #008080;\">How to Print Two Dimensional array in Java<\/span><\/h4>\n<ul>\n<li>How to print Array in Java with exampleArrays class provides a different method to print two dimensional array in Java, it\u2019s called toDeepString().<\/li>\n<li>It&#8217;s capable of printing multi-dimensional array in Java and similar to toDeepEquals() which is used to compare multi-dimensional array in Java.<\/li>\n<li>This method is also overloaded and provides 8 + 1 primitive and object versions to accept boolean, byte, short, char, int, long, float, double and Object in Java.<\/li>\n<\/ul>\n<p>Here is an example of how to print two dimensional array in Java.<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">String[][] phones = {{&quot;Apple&quot;, &quot;iPhone&quot;}, {&quot;Samsung&quot;, &quot;Galaxy&quot;}, {&quot;Sony&quot;, &quot;Xperia &quot;}};<br\/>System.out.println(&quot;Hot phones .. &quot; + phones); <br\/>System.out.println(&quot;Not hot? See again..&quot; + Arrays.deepToString(phones)); <\/code><\/pre> <\/div>\n<h4 id=\"output-4\"><strong>Output<\/strong><\/h4>\n<p>Hot phones .. [[Ljava.lang.String;@57398044<br \/>\nNot hot? See again..[[Apple, iPhone], [Samsung, Galaxy], [Sony, Xperia]]\n<h4 id=\"print-array-value-example-1-using-for-loop\"><strong>Print Array Value Example 1: Using for loop<\/strong><\/h4>\n<ul>\n<li>for loop is the classical way of printing or displaying values of both one dimension and multidimensional arrays in Java. before Java 5 you can use array.length to iterate over all array elements and printing values for each of them.<\/li>\n<li>From Java 5 onwards you can use much cleaner enhanced for loop which doesn&#8217;t require any counter from moving one element to other in Java.<\/li>\n<li>Enhanced for loop in Java 5 is added with other popular language feature e.g. Enum, Autoboxing and Generics.<\/li>\n<\/ul>\n<p>Here is sample code example to print value of element from array using classical and enhanced for loop in Java:<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">\/\/ Classic for loop before Java 5<br\/>private static int[] iArray = new int[]{1, 2,3,4, 5};<br\/><br\/>for(int i=0; i&lt; iArray.length; i++){<br\/>   System.out.print(iArray[i] +&quot;, &quot;);<br\/>}<\/code><\/pre> <\/div>\n<p style=\"top: 871px;\">[ad type=&#8221;banner&#8221;]\n<p><strong>Output:<\/strong><br \/>\n1, 2, 3, 4, 5,<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">\/\/Enhanced for loop from Java 1.5<br\/>for(int i : iArray){<br\/>   System.out.print(i +&quot;, &quot;);<br\/>}<\/code><\/pre> <\/div>\n<h4 id=\"print-array-values-example-2-using-arrays-aslist\"><strong>Print Array Values Example 2: Using Arrays.asList<\/strong><\/h4>\n<ul>\n<li>Arrays.asList() method is used to convert Array into ArrayList and as you know Collection classes overrides toString method to print there contents.<\/li>\n<li>By converting array into List we can leverage that property and print values from ArrayList instead of Array.<\/li>\n<li>Only limitation of this approach is it doesn&#8217;t print contents of array if array is of primitive type like int, float or double but works well if Array contains objects like String.<\/li>\n<li>Arrays.asList() is also used to create and initialize List in one line.<\/li>\n<\/ul>\n<p>By the way here is simple code example of displaying values form array in Java using Arrays.asList() method:<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">System.out.println(&quot;Print String array values in Java 1.4 :&quot; + Arrays.asList(sArray));<br\/>System.out.println(&quot;Print int array values in Java 1.4 :&quot; + Arrays.asList(iArray));<\/code><\/pre> <\/div>\n<h4 id=\"output-5\"><strong>Output:<\/strong><\/h4>\n<p>Print String array values in Java 1.4 :[abc, bcd, def, efg]\nPrint int array values in Java 1.4 :[[I@15b7986]\n<p>Print Array Value Example 3: using Arrays.toString and Arrays.deepToString<\/p>\n<ul>\n<li>This is by far best and recommended way of printing values from Array in Java.<\/li>\n<li>Only caveat is that Arrays.toString() and Arrays.deepToString() are added from Java 5 onwards along with other features e.g. Generics, varargs or static import.<\/li>\n<li>Use Arrays.toString() method to print both primitive and object single or one dimension array and use Arrays.deepToString() method to print values from two dimensional or multidimensional array (array of array in Java).<\/li>\n<\/ul>\n<p>Here is a simple example of printing array values using Arrays.toString() and Arrays.deepToString() in Java:<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">System.out.println(&quot;Print values of Integer array in Java: &quot;\u00a0+\u00a0Arrays.toString(iArray));\u000bSystem.out.println(&quot;Print values of String array in Java: &quot;\u00a0+\u00a0Arrays.toString(sArray));\u000b\u00a0 \u00a0 \u00a0\u00a0\u000bint[][]\u00a0twoDimensionArray =\u00a0new\u00a0int[][]{\u000b\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0{1,2,3},\u000b\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0{10,20,30},\u000b\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0{100,200,300},\u000b\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0};\u000bSystem.out.println(&quot;Print two dimensional array in Java: &quot;\u00a0+\u00a0Arrays.deepToString(twoDimensionArray));<\/code><\/pre> <\/div>\n<h4 id=\"output-6\"><strong>Output:<\/strong><\/h4>\n<p>Print values of\u00a0Integer\u00a0array in Java:\u00a0[1,\u00a02,\u00a03,\u00a04,\u00a05]\n<p>Print values of\u00a0String\u00a0array in Java:\u00a0[abc, bcd, def, efg]\n<p>Print two dimensional array in Java:\u00a0[[1,\u00a02,\u00a03],\u00a0[10,\u00a020,\u00a030],\u00a0[100,\u00a0200,\u00a0300]]\n<p>JDK 8 Stream<br \/>\nIn JDK 8, we can convert it to Stream and print it.<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">PrintArray.java<br\/>package com.mkyong.utils.print;<br\/><br\/>import java.util.Arrays;<br\/><br\/>public class PrintArray {<br\/><br\/>    public static void main(String[] args) {<br\/><br\/>        \/\/ array<br\/>        String[] arrayStr = new String[]{&quot;Java&quot;, &quot;Node&quot;, &quot;Python&quot;, &quot;Ruby&quot;};<br\/>        Arrays.stream(arrayStr).forEach(System.out::println);<br\/><br\/>        int[] arrayInt = {1, 3, 5, 7, 9};<br\/>        Arrays.stream(arrayInt).forEach(System.out::println);<\/code><\/pre> <\/div>\n<p style=\"top: 871px;\">[ad type=&#8221;banner&#8221;]\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">\/\/2d array<br\/>        String[][] deepArrayStr = new String[][]{{&quot;mkyong1&quot;, &quot;mkyong2&quot;}, {&quot;mkyong3&quot;, &quot;mkyong4&quot;}};<br\/>        Arrays.stream(deepArrayStr).flatMap(x -&gt; Arrays.stream(x)).forEach(System.out::println);<br\/><br\/>        int[][] deepArrayInt = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};<br\/>        Arrays.stream(deepArrayInt).flatMapToInt(x -&gt; Arrays.stream(x)).forEach(System.out::println);<br\/><br\/>    }<br\/><br\/>}<\/code><\/pre> <\/div>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-3291 size-full\" src=\"https:\/\/www.wikitechy.com\/technology\/wp-content\/uploads\/2017\/03\/Picture1-10.png\" alt=\"\" width=\"616\" height=\"897\" \/><\/p>\n<p>Json Anything<br \/>\nUse\u00a0Jackson2\u00a0library to print anything in a JSON formatted string.<\/p>\n<p>PrintUtils.java<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">package com.mkyong.utils.print;<br\/><br\/>import com.fasterxml.jackson.core.JsonProcessingException;<br\/>import com.fasterxml.jackson.databind.ObjectMapper;<br\/><br\/>public class PrintUtils {<br\/><br\/>    private static final ObjectMapper om = new ObjectMapper();<br\/><br\/>\tpublic static void print(Object object) {<br\/>\t\tString result;<br\/>\t\ttry {<br\/>\t\t\tresult = om.writerWithDefaultPrettyPrinter().writeValueAsString(object);<br\/>            System.out.println(result);<\/code><\/pre> <\/div>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\"> } catch (JsonProcessingException e) {<br\/>\t\t\te.printStackTrace();<br\/>\t\t}<br\/>\t}<br\/><br\/>}<\/code><\/pre> <\/div>\n<p>PrintArray.java<\/p>\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">package com.mkyong.utils.print;<br\/><br\/>public class PrintArray {<br\/><br\/>    public static void main(String[] args) {<br\/><br\/>\t\t\/\/array<br\/>        String[] arrayStr = new String[]{&quot;Java&quot;, &quot;Node&quot;, &quot;Python&quot;, &quot;Ruby&quot;};<br\/>        PrintUtils.print(arrayStr);<\/code><\/pre> <\/div>\n<p style=\"top: 871px;\">[ad type=&#8221;banner&#8221;]\n<div class=\"code-embed-wrapper\"> <div class=\"code-embed-infos\"> <span class=\"code-embed-name\">Java Code<\/span> <\/div> <pre class=\"language-java code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-java code-embed-code\">int[] arrayInt = {1, 3, 5, 7, 9};<br\/>        PrintUtils.print(arrayInt);<br\/><br\/>\t\t\/\/2d array<br\/>        String[][] deepArrayStr = new String[][]{{&quot;mkyong1&quot;, &quot;mkyong2&quot;}, {&quot;mkyong3&quot;, &quot;mkyong4&quot;}};<br\/>        PrintUtils.print(deepArrayStr);<br\/><br\/>        int[][] deepArrayInt = new int[][]{{1, 3, 5, 7, 9}, {2, 4, 6, 8, 10}};<br\/>        PrintUtils.print(deepArrayInt);<br\/><br\/>    }<br\/><br\/>}<\/code><\/pre> <\/div>\n<h4 id=\"output-7\"><strong>Output<\/strong><\/h4>\n[ &#8220;Java&#8221;, &#8220;Node&#8221;, &#8220;Python&#8221;, &#8220;Ruby&#8221; ]\n[ 1, 3, 5, 7, 9 ]\n[ [ &#8220;mkyong1&#8221;, &#8220;mkyong2&#8221; ], [ &#8220;mkyong3&#8221;, &#8220;mkyong4&#8221; ] ]\n[ [ 1, 3, 5, 7, 9 ], [ 2, 4, 6, 8, 10 ] ]\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Printing array values in Java or values of array element in Java would have been much easier if arrays are allowed to directly prints its values whenever<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2139],"tags":[6156,6152,6164,6159,6155,6157,6163,6150,6151,6154,6162,6160,6153,6161,6158,6149],"class_list":["post-3289","post","type-post","status-publish","format-standard","hentry","category-java","tag-3-example-to-print-array-values-in-java-tostring-and-deeptostring","tag-3-ways-to-print-an-array-in-java","tag-how-to-print-an-array-c","tag-how-to-print-array-in-java-using-for-loop","tag-how-to-print-array-with-elements-in-java","tag-how-to-print-string-array-in-java-using-for-loop","tag-how-to-print-string-in-java","tag-java-is-there-any-way-i-can-print-string-array-without-using-for-loop","tag-java-how-to-print-an-array","tag-java-array","tag-java-import-arrays","tag-java-print-2d-array","tag-java-print-array-examples","tag-java-print-arraylist","tag-print-elements-of-array-java","tag-whats-the-simplest-way-to-print-a-java-array"],"_links":{"self":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/3289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/comments?post=3289"}],"version-history":[{"count":0,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/posts\/3289\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/media?parent=3289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/categories?post=3289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wikitechy.com\/technology\/wp-json\/wp\/v2\/tags?post=3289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}