A quick guide to convert List to String in java using different methods and apache commons api with examples.
1. Overview
In this tutorial, we will learn how to convert List to String in java with example programs.
This conversion is done with the simple steps with java api methods.
First, we will understand how to make List to String using toString() method.
Next, Collection to String with comma separator or custom delimiter using Java 8 Streams Collectors api and String.join() method.
Finally, learn with famous library apache commands StringUtils.join() method.
For all the examples, input list must be a type of String as List<String> otherwise we need to convert the non string to String. Example, List is type of Double then need to convert then double to string first.
2. List to String Using Standard toString() method
List.toString() is the simplest one but it adds the square brackets at the start and end with each string is separated with comma separator.
The drawback is that we can not replace the comma with another separator and can not remove the square brackets.
package com.oraclejavacertified.convert.list2string;
import java.util.Arrays;
import java.util.List;
/**
* Example to convert List to string using toString() method.
*
*/
public class ListToStringUsingToStringExample {
public static void main(String[] args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// converting List<String> to String using toString() method
String stringFromList = list.toString();
// priting the string
System.out.println("String : "+stringFromList);
}
}
Output:
String : [One, Two, Three, Four, Five]
3. List to String Using Java 8 String.join() Method
The above program works before java 8 and after. But, java 8 String is added with a special method String.join() to convert the collection to a string with a given delimiter.
The below example is with the pipe and tilde separators in the string.
import java.util.Arrays;
import java.util.List;
/**
* Example to convert List to string using String.join() method.
*
*/
public class ListToStringUsingString_JoinExample {
public static void main(String[] args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// converting List<String> to String using toString() method
String stringFromList = String.join("~", list);
// priting the string
System.out.println("String with tilde delimiter: "+stringFromList);
// delimiting with pipe | symbol.
String stringPipe = String.join("|", list);
// printing
System.out.println("String with pipe delimiter : "+stringPipe);
}
}
Output:
String with tilde delimiter: One~Two~Three~Four~Five
String with pipe delimiter : One|Two|Three|Four|Five
4. List to String Using Java 8 Collectors.joining() Method
Collectors.join() method is from java 8 stream api. Collctors.joining() method takes delimiter, prefix and suffix as arguments. This method converts list to string with the given delimiter, prefix and suffix.
Look at the below examples on joining() method with different delimiters. But, String.join() method does not provide the prefix and suffix options.
If you need a custom delimiter, prefix and suffix then go with these. If you do not want the prefix and suffix then provide empty string to not to add any before and after the result string.
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* Example to convert List to string using Collectors.joining() method.
*
*/
public class ListToStringUsingString_JoinExample {
public static void main(String[] args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// using java 8 Collectors.joining with delimiter, prefix and suffix
String joiningString = list.stream().collect(Collectors.joining("-", "{", "}"));
// printing
System.out.println("Collectors.joining string : "+joiningString);
String joiningString3 = list.stream().collect(Collectors.joining("@", "", ""));
// printing
System.out.println("Collectors.joining string with @ separator : "+joiningString3);
}
}
Output:
Collectors.joining string : {One-Two-Three-Four-Five}
Collectors.joining string with @ separator : One@Two@Three@Four@Five
5. List to String Using Apache Commons StringUtils.join() method
Finally way is using external library from apache commons package. This library has a method
StringUtils.join() which takes the list and delimiter similar to the String.join() method.
import org.apache.commons.lang3.StringUtils;
/**
* Example to convert List to string using apache commons stringutils.join() method.
*
*/
public class ListToStringUsingStringUtils_JoinExample {
public static void main(String[] args) {
// creating a list with strings.
List<String> list = Arrays.asList("One",
"Two",
"Three",
"Four",
"Five");
// using java 8 Collectors.joining with delimiter, prefix and suffix
String joiningString = StringUtils.join(list, "^");
// printing
System.out.println("StringUtils.join string with ^ delimiter : "+joiningString);
String joiningString3 = StringUtils.join(list, "$");
// printing
System.out.println("StringUtils.join string with @ separator : "+joiningString3);
}
}
Output:
StringUtils.join string with ^ delimiter : One^Two^Three^Four^Five
StringUtils.join string with @ separator : One$Two$Three$Four$Five
Source: javacodegeeks.com
0 comments:
Post a Comment