How to convert List into comma separated string
- Admin
- Oct 3, 2023
- Java-convert Java8
In this blog post, How to convert List into a comma-delimited string. It covers the following examples for
- Convert the list of custom objects into a comma-separated string
- Convert List of Strings/Long/Integers into a comma-separated string.
How to convert a List of custom objects into a comma-separated string
There are multiple ways to convert a list of objects into comma-separated strings.
here object can be the custom object of the java class.
For example, the User object declares with the following member’s attributes.
package com.company;
public class User {
private Integer id;
private String name;
public User(Integer id, String name) {
this.id = id;
this.name = name;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Let’s insert the data for this example.
List<User> users = new ArrayList<User>();
User user1 = new User (1,"Eric");
User user2 = new User (2,"John");
User user3 = new User (3,"Ram");
users.add(user1);
users.add(user2);
users.add(user3);
Using for loop
for each loop is used to iterate the list.
Here is the sequence of steps
- Create a String builder object
- use forEach loop to iterate each object
- append object name and comma delimiter
- Convert StringBuilder to String using toString() method
- As we have a comma added to the last string.
- Remove the last comma using the
substring
method
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<User> users = new ArrayList<User>();
User user1 = new User (1,"Eric");
User user2 = new User (2,"John");
User user3 = new User (3,"Ram");
users.add(user1);
users.add(user2);
users.add(user3);
StringBuilder sb = new StringBuilder();
for(User user:users){
sb.append(user.getName()).append(",");
}
String commaDelimeterString=sb.toString();
if( commaDelimeterString.length() > 0 )
commaDelimeterString = commaDelimeterString.substring(0, commaDelimeterString.length() - 1);
System.out.println(commaDelimeterString);
}
}
Using java8 streams
java8 introduced streams to manipulate the list or array of objects.
You can check the below tutorials java8 streams
Here is a sequence of steps
- list object stream is called using the stream() method
- Iterate each object using the map method and lambda expression
- get object email in a lambda expression
java.util.stream.Collectors
method joining uses a comma delimiter and returns the string comma delimiter using a reducer calledcollect
.
here is a complete example
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<User> users = new ArrayList<User>();
User user1 = new User (1,"Eric");
User user2 = new User (2,"John");
User user3 = new User (3,"Ram");
users.add(user1);
users.add(user2);
users.add(user3);
String nameSeparatedString = users.stream().map(user->user.getName())
.collect(Collectors.joining(","));
System.out.println(nameSeparatedString);
}
}
Output:
Eric,John, Ram
Convert a List of strings into a comma-separated string
In these tutorials, We will see how to convert a primitive list of String, Integer, andLong into delimited separated strings.
apache commons StringUtils join method
This is easy and simple to convert a string list to comma-separated strings.
If you are using the apache commons library in your application, You can use StringUtils join() method
The same method is available in apache commons-lang module also i.e org.apache.commons.lang3.StringUtils
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
public class Main {
public static void main(String[] args) {
List<String> strList = new ArrayList<>();
strList.add("one");
strList.add("two");
strList.add("three");
strList.add("four");
String delimetedCommaString=StringUtils.join(strList, ',');
System.out.println(delimetedCommaString);
}
}
Output
one,two,three,four
Spring framework to convert List of Integer into a comma-separated string
Spring framework provides StringUtils class in org.springframework.util package.
This class has arrayToDelimitedString
method
Here is the syntax of the method
public static String arrayToDelimitedString(@Nullable
Object[] arr,
String delim)
Here is an example of converting list of integers into comma-separated string Code
import java.util.ArrayList;
import java.util.List;
import org.springframework.util.StringUtils;
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(12);
list.add(14);
list.add(50);
String delimetedCommaString=arrayToDelimitedString(list, ',');
System.out.println(delimetedCommaString);
}
}