{"id":4551,"date":"2017-11-10T17:15:07","date_gmt":"2017-11-10T11:45:07","guid":{"rendered":"https:\/\/www.java2blog.com\/?p=4551"},"modified":"2021-10-18T23:16:39","modified_gmt":"2021-10-18T17:46:39","slug":"java-list-to-string","status":"publish","type":"post","link":"https:\/\/java2blog.com\/java-list-to-string\/","title":{"rendered":"Java List to String"},"content":{"rendered":"<p>In this post, we will see how to convert List to String in <a href=\"https:\/\/java2blog.com\/core-java-tutorial-for-beginners-experienced\/\" rel=\"noopener noreferrer\" target=\"_blank\">java<\/a>.<br \/>\n<strong>Following are the ways to convert list into String:<\/strong><br \/>\n<div id=\"toc_container\" class=\"toc_light_blue no_bullets\"><p class=\"toc_title\">Table of Contents<\/p><ul class=\"toc_list\"><li><a href=\"#Using_StringBuilder\">Using StringBuilder<\/a><\/li><li><a href=\"#Using_operator\">Using + operator<\/a><\/li><li><a href=\"#Using_String8217s_join_method_in_java_8\">Using String&#8217;s join method in java 8<\/a><\/li><li><a href=\"#Using_Apache_common_lang3\">Using Apache common lang3<\/a><\/li><li><a href=\"#Using_Guava_library\">Using Guava library<\/a><\/li><li><a href=\"#Print_elements_of_list_as_String\">Print elements of list as String<\/a><\/li><\/ul><\/div>\n\n<h2><span id=\"Using_StringBuilder\"><span style=\"color: #f89820;\"><strong>Using StringBuilder<\/strong><\/span><\/span><\/h2>\n<p>We can use <a href=\"https:\/\/java2blog.com\/ocajp-8-stringbuilder-mock-questions\/\" title=\"StringBuilder\">StringBuilder<\/a> class to convert List to String. StringBuilder is the best approach if you have other than String Array, List.We can add elements in the object of StringBuilder using the <code>append()<\/code> method while looping and then convert it into string using <code>toString()<\/code> method of String class at the end.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre class=\"java\">package org.arpit.java2blog;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.lang.String;\npublic class ConvertListToStringMain\n{\n    public static void main(String arg[])\n    {\n        \/\/creation  and initialization of list\n        List&lt;String&gt; list=new ArrayList&lt;&gt;();\n        list.add(\"Mary\");\n        list.add(\"Martin\");\n        list.add(\"John\");\n        list.add(\"Newton\");\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(list);\n        \/\/conversion of ArrayList to String\n        StringBuilder strbul=new StringBuilder();\n        for(String str : list)\n        {\n            strbul.append(str);\n            \/\/for adding comma between elements\n            strbul.append(\",\");\n        }\n        \/\/just for removing last comma\n        \/\/strbul.setLength(strbul.length()-1);\n        String str=strbul.toString();\n\n        System.out.println(\"Converted String is \" + str);\n    }\n}\n<\/pre>\n<p><strong>OUTPUT:<\/strong><\/p>\n<div class=\"content-box-green\">Elements of list are:[Mary, Martin, John, Newton]\nConverted String is Mary,Martin,John,Newton,<\/div>\n<h2><span id=\"Using_operator\"><span style=\"color: #f89820;\"><strong>Using + operator<\/strong><\/span><\/span><\/h2>\n<p>This is not an efficient way so, normally avoid it.We use concate(<code>+<\/code>) operator to add one by one element from array inside loop and assign it into String.<\/p>\n<p><strong>Example:<\/strong><\/p>\n<pre class=\"java\">package org.arpit.java2blog;\n\/\/import all these packages\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.lang.String;\nimport java.util.Arrays;\npublic class ListToStringPlusMain \n{\n    public static void main(String arg[])\n    {\n        \/\/creation  and initialization of list\n        List list=new ArrayList&lt;&gt;();\n        list.add(\"Mary\");\n        list.add(\"Martin\");\n        list.add(\"John\");\n        list.add(\"Newton\");\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(list);\n        \/\/conversion of ArrayList into String using +\n        String str=\"\";\n        for(String s : list)\n        {\n            str=str + s + \",\";\n        }\n        System.out.println(\"Converted String is \" + str);\n    }\n}\n<\/pre>\n<p><strong>OUTPUT:<\/strong><\/p>\n<div class=\"content-box-red\">Elements of list are:[Mary, Martin, John, Newton]\nConverted String is Mary,Martin,John,Newton,<\/div>\n<h2><span id=\"Using_String8217s_join_method_in_java_8\"><span style=\"color: #f89820;\"><strong>Using String&#8217;s join method in java 8<\/strong><\/span><\/span><\/h2>\n<p>String&#8217;s join method is introduced in Java 8 . This method is very handy to create delimited separated String from list.<\/p>\n<pre class=\"java\" name=\"code\" mark=\"21\">package org.arpit.java2blog;\n\/\/import all these packages\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.lang.String;\npublic class ListToStringJoinMain \n{\n    public static void main(String arg[])\n    {\n        \/\/creation  and initialization of list\n        List list=new ArrayList&lt;&gt;();\n        list.add(\"Mary\");\n        list.add(\"Martin\");\n        list.add(\"John\");\n        list.add(\"Newton\");\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(list);\n        \/\/conversion of ArrayList into String using +\n        String str=String.join(\",\", list);\n        System.out.println(\"Converted String is \" + str);\n    }\n}\n<\/pre>\n<p>This approach will work only for <a href=\"https:\/\/java2blog.com\/list-string-java\/\" rel=\"noopener noreferrer\" target=\"_blank\">List of String<\/a>. In case, if you have list of Double, then you can use <a href=\"https:\/\/java2blog.com\/java-8-tutorial\/\" rel=\"noopener noreferrer\" target=\"_blank\">java 8<\/a>&#8216;s <a href=\"https:\/\/java2blog.com\/java-8-collectors-examples\/\" rel=\"noopener noreferrer\" target=\"_blank\">Collectors<\/a> to join the String.<br \/>\nHere is an example:<\/p>\n<pre class=\"lang:java mark:23-24 decode:1 \" >\npackage org.arpit.java2blog;\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.stream.Collectors;\npublic class ConvertListToStringMain\n{\n    public static void main(String arg[])\n    {\n        \/\/creation  and initialization of list\n        List&lt;Double&gt; list=new ArrayList&lt;&gt;();\n        list.add(34.2);\n        list.add(29.7);\n        list.add(40.2);\n        list.add(50.4);\n\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(list);\n\n        \/\/conversion of ArrayList into String using Java 8's Collector\n\n        String str = list.stream().map(Object::toString)\n                          .collect(Collectors.joining(\",\")); \n        System.out.println(\"Converted String is: \" + str);\n    }\n}\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<div class=\"content-box-green\">\nElements of list are:[34.2, 29.7, 40.2, 50.4]\nConverted String is: 34.2,29.7,40.2,50.4\n<\/div>\n<p>As you can see, we have used <code>Collectors.joining(&quot;,&quot;)<\/code> to join elements of String by <code>,<\/code><\/p>\n<h2><span id=\"Using_Apache_common_lang3\">Using Apache common lang3<\/span><\/h2>\n<p>You can also use Apache common&#8217;s <code>StringUtils<\/code> to convert list to String.<br \/>\nHere is the dependency which you need to add for Apache common lang3 in <code>pom.xml<\/code>.<\/p>\n<pre class=\"lang:xml decode:1 \" >\n      <dependency>\n            <groupId>org.apache.commons<\/groupId>\n            <artifactId>commons-lang3<\/artifactId>\n            <version>3.9<\/version>\n        <\/dependency>\n<\/pre>\n<p>Here is the example:<\/p>\n<pre class=\"lang:java mark:17 decode:1 \" >\npackage org.arpit.java2blog;\nimport java.util.Arrays;\nimport java.util.List;\n\nimport org.apache.commons.lang3.StringUtils;\npublic class ConvertStringToListApache\n{\n    public static void main(String arg[])\n    {\n        List&lt;Integer&gt; intList= Arrays.asList(new Integer[] {1,2,3,4});\n\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(intList);\n\n        String join = StringUtils.join(intList,\"*\");\n        System.out.println(\"Converted String is: \" + join);\n    }\n}\n<\/pre>\n<div class=\"content-box-blue\">\nElements of list are:[1, 2, 3, 4]\nConverted String is: 1*2*3*4\n<\/div>\n<h2><span id=\"Using_Guava_library\">Using Guava library<\/span><\/h2>\n<p>You can also use Guava&#8217;s <code>Joiner<\/code> class to convert list to String.<br \/>\nHere is the dependency which you need to add for guava in <code>pom.xml<\/code>.<\/p>\n<pre class=\"lang:xml decode:1 \" >\n<dependency>\n            <groupId>com.google.guava<\/groupId>\n            <artifactId>guava<\/artifactId>\n            <version>29.0-jre<\/version>\n        <\/dependency>\n<\/pre>\n<p>Here is the example:<\/p>\n<pre class=\"lang:java mark:17 decode:1 \" >\npackage org.arpit.java2blog;\nimport java.util.Arrays;\nimport java.util.List;\n\nimport com.google.common.base.Joiner;\npublic class ConvertListToStringGuava\n{\n    public static void main(String arg[])\n    {\n        List<Integer> intList= Arrays.asList(new Integer[] {1,2,3,4});\n\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(intList);\n\n        String join = Joiner.on(\"*\").join(intList);\n        System.out.println(\"Converted String is: \" + join);\n    }\n}\n<\/pre>\n<div class=\"content-box-blue\">\nElements of list are:[1, 2, 3, 4]\nConverted String is: 1*2*3*4\n<\/div>\n<p>As you can see, we have used <code>com.google.common.base.Joiner<\/code> class to join elements of String by <code>*<\/code><\/p>\n<h2><span id=\"Print_elements_of_list_as_String\"><span style=\"color: #f89820;\"><strong>Print elements of list as String<\/strong><\/span><\/span><\/h2>\n<p>Sometimes, we just need to print elements of the list. We can simply use <code>toString()<\/code> method<br \/>\nLet&#8217;s understand with the help of example.<\/p>\n<pre class=\"lang:java mark:13 decode:1 \" >\npackage org.arpit.java2blog;\nimport java.util.Arrays;\nimport java.util.List;\npublic class PrintListOfElementsMain\n{\n    public static void main(String arg[])\n    {\n        List<Integer> intList= Arrays.asList(new Integer[] {1,2,3,4});\n\n        \/\/print content of list\n        System.out.print(\"Elements of list are:\");\n        System.out.println(intList);\n    }\n}\n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<div class=\"content-box-purple\">\nElements of list are:[1, 2, 3, 4]\n<\/div>\n<p><strong>Did you notice we did not even call <code>toString()<\/code> method on intList object?<\/strong><br \/>\nJVM internally calls toString() method of type of element within this list. In this case, we have list of Integers, so it will call Integer&#8217;s <code>toString()<\/code> method.<\/p>\n<p>In case, you have custom object, then you should override toString() method, else it will give you unexpected results.<br \/>\nLet&#8217;s see with the help of example<br \/>\nCreate a simple class named <code>Color.java<\/code><\/p>\n<pre class=\"lang:java decode:1 \" >\npackage org.arpit.java2blog;\n\npublic class Color {\n\n    String name;\n    String htmlCode;\n\n    public Color(String name, String htmlCode) {\n        super();\n        this.name = name;\n        this.htmlCode = htmlCode;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getHtmlCode() {\n        return htmlCode;\n    }\n\n    public void setHtmlCode(String htmlCode) {\n        this.htmlCode = htmlCode;\n    }\n}\n<\/pre>\n<p>Create main class named <code>PrintListOfColorsMain.java<\/code><\/p>\n<pre class=\"lang:java decode:1 \" >\npackage org.arpit.java2blog;\n\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.stream.Collectors;\n\npublic class PrintListOfColorsMain {\n\n    public static void main(String[] args) {\n        \/\/ Sort list of colors by name\n\n        List<Color> listOfColors = getListOfColors();\n        System.out.println(listOfColors);\n    }\n\n    public static List<Color> getListOfColors() {\n        List<Color> listOfColors = new ArrayList<>();\n\n        Color red = new Color(\"Red\", \"#FF0000\");\n        Color blue = new Color(\"Blue\", \"0000FF\");\n        Color white = new Color(\"White\", \"#FFFFFF\");\n        Color green = new Color(\"Green\", \"#008000\");\n\n        listOfColors.add(red);\n        listOfColors.add(blue);\n        listOfColors.add(white);\n        listOfColors.add(green);\n\n        return listOfColors;\n\n    }\n\n}       \n<\/pre>\n<p><strong>Output:<\/strong><\/p>\n<div class=\"content-box-grey\">\n[org.arpit.java2blog.Color@6d06d69c, org.arpit.java2blog.Color@7852e922, org.arpit.java2blog.Color@4e25154f, org.arpit.java2blog.Color@70dea4e]\n<\/div>\n<p>If you notice, we don&#8217;t have <code>toString()<\/code> method in <code>Color<\/code> class, that&#8217;s why it is calling Object&#8217;s toString() method. <\/p>\n<p>We need to override <code>toString()<\/code> method in <code>Color<\/code> class and we will get informative output.<\/p>\n<pre class=\"lang:java mark:31-34 decode:1 \" >\npackage org.arpit.java2blog;\n\npublic class Color {\n\n    String name;\n    String htmlCode;\n\n    public Color(String name, String htmlCode) {\n        super();\n        this.name = name;\n        this.htmlCode = htmlCode;\n    }\n\n    public String getName() {\n        return name;\n    }\n\n    public void setName(String name) {\n        this.name = name;\n    }\n\n    public String getHtmlCode() {\n        return htmlCode;\n    }\n\n    public void setHtmlCode(String htmlCode) {\n        this.htmlCode = htmlCode;\n    }\n\n    @Override\n    public String toString() {\n        return \"Color [name:\"+name+\" HtmlCode:\"+htmlCode+\"]\";\n    }\n}\n\n<\/pre>\n<p>When you run <code>PrintListOfColorsMain<\/code> again, you will get below output:<\/p>\n<div class=\"content-box-blue\">\n[Color [name:Red HtmlCode:#FF0000], Color [name:Blue HtmlCode:0000FF], Color [name:White HtmlCode:#FFFFFF], Color [name:Green HtmlCode:#008000]]\n<\/div>\n<p>As you can see, we have much meaningful output now.<\/p>\n<p>That&#8217;s all about converting List to String in java.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Table of ContentsUsing StringBuilderUsing + operatorUsing String&#8217;s join method in java 8Using Apache common lang3Using Guava libraryPrint elements of list as String In this post, we will see how to convert List to String in java. Following are the ways to convert list into String: Using StringBuilder We can use StringBuilder class to convert List [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":11638,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_mi_skip_tracking":false},"categories":[183,27],"tags":[],"_links":{"self":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts\/4551"}],"collection":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/comments?post=4551"}],"version-history":[{"count":0,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/posts\/4551\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/media\/11638"}],"wp:attachment":[{"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/media?parent=4551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/categories?post=4551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/java2blog.com\/wp-json\/wp\/v2\/tags?post=4551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}