How can I use Collectors instead of manually putting into ConcurrentHashMap in java 8

java, java-8

Solution

We can do this as follows also:

results.stream()
       .flatMap(res -> res.getSeries().stream())
       .flatMap(series -> series.getValues().stream())
       .collect(Collectors.toMap(
                              vals -> vals.get(1).toString(),
                              vals -> vals.get(2).toString(),
                              (vals1,vals2) -> vals2,
                              ConcurrentHashMap::new);

Problem

How can I Use Collectors to collect in a ConcurrentHashMap instread of putting manually into ConcurrentHashMap ``` ConcurrentHashMap<String, String> configurationMap = new ConcurrentHashMap<>(); List<Result> results = result.getResults(); results.stream().forEach(res -> { res.getSeries().stream().forEach(series -> { series.getValues().stream().forEach(vals ->{ configurationMap.put(vals.get(1).toString(),vals.get(2).toString()); }); }); }); //Note: vals is List<List<Object>> type ``` Help will be appreciated.

Original source