Looking to convert List to String Java? Lets have a look at how to convert a Java Collections List of elements to a String in Java.

We can print the contents of a List element in a readable form while debugging the code, which is helpful.

List interface and String class were part of Java object-oriented programming api.

We can add any type of Java object to a List. If the List is not type, then using Java Generics we can apply objects of various types in the same List.

Using toString():

From below java program, lets see how to convert using toString method.

public static void main(String[] args) {
try {
	List<Integer> list = Arrays.asList(0, 1, 2, 3);
	System.out.println(list);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
    
Output:
[0, 1, 2, 3]

As per the output code above, we can see list of array values printed as array of strings in java.

This way of implementation uses the inbuilt toString() method within the List.

Here Integer Java generics type has a internal implementation of toString() method.

In above example we used Arrays.asList to create a array in optimal manner.

But we can also use standard arraylist class in java and can add the values using list.add() method.

Interview Question 1 -> Primitive Types in Java:

boolean , byte , char , short , int , long , float and double are the primitive types in Java API.

List of Object to String

Lets see how Object toString() method works as per below java program class.

public class HelloObject {
	
	String name;
	int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "HelloObject [name=" + name + ", age=" + age + "]";
	}
	
}

Here the custom toString() function which returns in a custom string object format.

public static void main(String[] args) {
try {
    	List<HelloObject> List = new ArrayList();
		HelloObject hb = new HelloObject();
		hb.setName("James");
		hb.setAge(25);
		List.add(hb);
		System.out.println(List);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
	
Output:
[HelloObject [name=James, age=25]]

Here custom toString() in the HelloObject will convert the object into string format.

Interview Question 2 -> ArrayList vs LinkedList:

ArrayList in java api applies a dynamic array to store the elements . where as LinkedList uses a double linked list to store the elements.

Also ArrayList String value can convert to byte array using java programming language.

Again both ArrayList and LinkedList accepts duplicate values.

But we can remove duplicates using plain java code, Lambdas, Guava.

Using StringUtils class:

We can use the Apache Commons Lang StringUtils class to achieve the conversion.

public static void main(String[] args) {
try {
	List<Integer>list = Arrays.asList(0, 1, 2, 3);
	System.out.println(StringUtils.join(list, " "));
	} catch (Exception e) {
		e.printStackTrace();
	}
}
    
Output:
0 1 2 3

StringUtils.join method have inbuilt toString() method.

As we can see from above output, it prints the List elements as String data type with space delimiter.

we can also use java regular expressions to define a search pattern for strings.

Here is the maven dependency for Apache commons lang StringUtils class of java api.

you can use this in your project pom.xml file as dependency.

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

The latest version of the dependency will be available here.

With Java Stream Collectors:

Now lets use Java Util Stream Collectors api package to convert List to String.

public static void main(String[] args) {
try {
	List<Integer> list = Arrays.asList(1, 2, 3);
	String result = list.stream().
		map(i -> String.valueOf(i)).
		collect(Collectors.joining("/", "(", ")"));
	System.out.println(result);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
        
Output:		
(1/2/3)f

In above example we can see usage of stream().map , note that it is different from standard java map.

Java List to Comma Separated Values (delimiter)

Lets go through how to convert using delimiter.

public static void main(String[] args) {
	try {
		List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
		String countriesComma = String.join(",", countries);
		System.out.println(countriesComma);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
Output:
USA,UK,Australia,India

As the per the output above, we can see conversion using delimiter i,e. separated by Comma or Comma separated.

Using join method, you can convert List to String with Separator comma, blackslash, space and so on.

Convert Character List to String

Lets go through how to convert Character List to String using StringBuilder class.

public static void main(String[] args) {
	try {
        List<Character> list =  
                Arrays.asList('c', 's', 'v'); 
        StringBuilder sb = new StringBuilder(); 
        for (Character chr : list) { 
            sb.append(chr); 
        } 
        // convert to string 
        String result = sb.toString(); 
        System.out.println(result); 
	} catch (Exception e) {
		e.printStackTrace();
	}
}

Output:
csv

with Double Quotes

Using Apache Commons StringUtils package, convert List to String with Quotes using Java.

Refer the below implementation

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 String join = StringUtils.join(countries, "\", \"");
	 String wrapQuotes = StringUtils.wrap(join, "\"");	 
	 System.out.println(wrapQuotes);
	 } catch (Exception e) {
	  e.printStackTrace();
	 }
}
Output:
"USA", "UK", "Australia", "India"

Using Java Sort

we can convert using Java Sort with below implementation.

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 countries.sort(Comparator.comparing(String::toString)); 
	 System.out.println(countries);
	 } catch (Exception e) {
		e.printStackTrace();
	 }
}
Output:
[Australia, India, UK, USA]

Convert List to String Json in Java

Lets convert List to String Json in Java using Google GSON library.

It is straight forward method ToJson() which will convert the input to Json String.

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 String json = new Gson().toJson(countries);
	 System.out.println(json);
	 } catch (Exception e) {
	   e.printStackTrace();
	 }
}

Output:
["USA","UK","Australia","India"]

To conclude, in this tutorial we gone through different ways to convert a Java List to a String data types.

Interested to read JavaScript resources, checkout this JavaScript split method article.

Keeping sharing java tutorials and happy coding 🙂

Pin It on Pinterest

Share This