Java 8 List<V> into Map<K, V>
To convert a List<V>
into a Map<K, V>
in Java 8, you can use the toMap()
method of the Collectors
class from the java.util.stream
package.
The toMap()
method takes a function that extracts the key from an element and a function that extracts the value, and returns a Collector
that accumulates elements into a Map
. You can then use this collector with the collect()
method of the Stream
interface to create the map.
Here is an example of how to convert a List<V>
into a Map<K, V>
in Java 8:
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<V> list = ...;
Map<K, V> map = list.stream()
.collect(Collectors.toMap(
element -> element.getKey(), // Function to extract the key from an element
element -> element.getValue() // Function to extract the value from an element
));
}
}
This code creates a stream of the elements in the list
using the stream()
method and then collects them into a Map
using the toMap()
method and the collect()