The Java.util.List is a child interface of Collection. It is an ordered collection of objects in which duplicate values can be stored. Since List preserves the insertion order, it allows positional access and insertion of elements. List Interface is implemented by ArrayList, LinkedList, Vector and Stack classes.
Using Java 8 Stream API: A Stream is a sequence of objects that supports various methods which can be pipelined to produce the desired result.
Java 8 Stream API can be used to convert List to List.
Algorithm:
Program:
// Java Program to convert // List to List in Java 8 import java.util.*; import java.util.stream.*; import java.util.function.*; class GFG { // Generic function to convert List of // String to List of String public static <T, U> List convertIntListToStringList(List listOfInteger, Function<T, U> function) { return listOfInteger.stream() .map(function) .collect(Collectors.toList()); } public static void main(String args[]) { // Create a List of Integer List listOfInteger = Arrays.asList(1, 2, 3, 4, 5); // Print the List of Integer System.out.println("List of Integer: " + listOfInteger); // Convert List of Integer to List of String List listOfString = convertIntListToStringList( listOfInteger, s -> String.valueOf(s)); // Print the List of String System.out.println("List of String: " + listOfString); } }
Output:
List of String: [1, 2, 3, 4, 5] List of Integer: [1, 2, 3, 4, 5]
2. Using Guava’s List.transform():
Algorithm:
Program:
// Java Program to convert // List to List in Java 8 import com.google.common.base.Function; import com.google.common.collect.Lists; import java.util.*; import java.util.stream.*; class GFG { // Generic function to convert List of // String to List of String public static <T, U> List convertIntListToStringList(List listOfInteger, Function<T, U> function) { return Lists.transform(listOfInteger, function); } public static void main(String args[]) { // Create a List of Integer List listOfInteger = Arrays.asList(1, 2, 3, 4, 5); // Print the List of Integer System.out.println("List of Integer: " + listOfInteger); // Convert List of Integer to List of String List listOfString = convertIntListToStringList( listOfInteger, s -> String.valueOf(s)); // Print the List of String System.out.println("List of String: " + listOfString); } }
Output:
List of String: [1, 2, 3, 4, 5] List of Integer: [1, 2, 3, 4, 5]