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:
- Get the list of String.
- Convert List of String to Stream of String. This is done using List.stream().
- Convert Stream of String to Stream of Integer. This is done using Stream.map() and passing Integer.parseInt() method as lambda expression.
- Collect Stream of Integer into List of Integer. This is done using Collectors.toList().
- Return/Print the list of String.
Program:
// Java Program to convert// List<String> to List<Integer> in Java 8ÂÂimportjava.util.*;importjava.util.stream.*;importjava.util.function.*;ÂÂclassGFG {   Â// Generic function to convert List of   Â// String to List of Integer   Âpublicstatic<T, U> List<U>   ÂconvertStringListToIntList(List<T> listOfString,                              ÂFunction<T, U> function)   Â{       ÂreturnlistOfString.stream()           Â.map(function)           Â.collect(Collectors.toList());   Â}   Âpublicstaticvoidmain(String args[])   Â{       Â// Create a list of String       ÂList<String> listOfString = Arrays.asList("1","2","3",                                                      Â"4","5");       Â// Print the list of String       ÂSystem.out.println("List of String: "+ listOfString);       Â// Convert List of String to list of Integer       ÂList<Integer> listOfInteger = convertStringListToIntList(           ÂlistOfString,           ÂInteger::parseInt);       Â// Print the list of Integer       ÂSystem.out.println("List of Integer: "+ listOfInteger);   Â}}Output:List of String: [1, 2, 3, 4, 5] List of Integer: [1, 2, 3, 4, 5]
- Using Guava’s List.transform():
Algorithm:
- Get the list of String.
- Convert List of String to List of Integer using Lists.transform(). This is done using passing Integer.parseInt() method as lambda expression for transformation.
- Return/Print the list of String.
Program:
// Java Program to convert// List<String> to List<Integer> in Java 8ÂÂimportcom.google.common.base.Function;importcom.google.common.collect.Lists;importjava.util.*;importjava.util.stream.*;ÂÂclassGFG {   Â// Generic function to convert List of   Â// String to List of Integer   Âpublicstatic<T, U> List<U>   ÂconvertStringListToIntList(List<T> listOfString,                              ÂFunction<T, U> function)   Â{       ÂreturnLists.transform(listOfString, function);   Â}   Âpublicstaticvoidmain(String args[])   Â{       Â// Create a list of String       ÂList<String> listOfString = Arrays.asList("1","2","3",                                                     Â"4","5");       Â// Print the list of String       ÂSystem.out.println("List of String: "+ listOfString);       Â// Convert List of String to list of Integer       ÂList<Integer>           ÂlistOfInteger = convertStringListToIntList(listOfString,                                                ÂInteger::parseInt);       Â// Print the list of Integer       ÂSystem.out.println("List of Integer: "+ listOfInteger);   Â}}Output:List of String: [1, 2, 3, 4, 5] List of Integer: [1, 2, 3, 4, 5]
