Last Updated : 11 Dec, 2018
Given an Iterator, the task is to convert it into List in Java.
Examples:Input: Iterator = {1, 2, 3, 4, 5} Output: {1, 2, 3, 4, 5} Input: Iterator = {'G', 'e', 'e', 'k', 's'} Output: {'G', 'e', 'e', 'k', 's'}
Below are the various ways to do so:
// Java program to get a List
// from a given Iterator
import java.util.*;
class GFG {
// Function to get the List
public static <T> List<T>
getListFromIterator(Iterator<T> iterator)
{
// Create an empty list
List<T> list = new ArrayList<>();
// Add each element of iterator to the List
iterator.forEachRemaining(list::add);
// Return the List
return list;
}
// Driver code
public static void main(String[] args)
{
// Get the Iterator
Iterator<Integer>
iterator = Arrays.asList(1, 2, 3, 4, 5)
.iterator();
// Get the List from the Iterator
List<Integer>
list = getListFromIterator(iterator);
// Print the list
System.out.println(list);
}
}
// Java program to get a List
// from a given Iterator
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;
class GFG {
// Function to get the List
public static <T> List<T>
getListFromIterator(Iterator<T> iterator)
{
// Convert iterator to iterable
Iterable<T> iterable = () -> iterator;
// Create a List from the Iterable
List<T> list = StreamSupport
.stream(iterable.spliterator(), false)
.collect(Collectors.toList());
// Return the List
return list;
}
// Driver code
public static void main(String[] args)
{
// Get the Iterator
Iterator<Integer>
iterator = Arrays.asList(1, 2, 3, 4, 5)
.iterator();
// Get the List from the Iterator
List<Integer>
list = getListFromIterator(iterator);
// Print the list
System.out.println(list);
}
}
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4