Giusto
Così funziona:
public static Map<String, Integer> string2map(List<String> lst){
return lst.stream().collect(Collectors.toMap(i->"'"+i+"'", String::length));
}
Una cosa che non riesco a capire è il perchè nel metodo:
toMap(Function<? super T,? extends K> keyMapper, Function<? super T,? extends U> valueMapper)
non risco ad implementarci una lambda per la seconda Function che mappa i valori delle chiavi, ma funziona col method reference.
return lst.stream().collect(Collectors.toMap(i->"'"+i+"'", s -> s.length));
Grazie e buona giornata
PS: questa è la versione senza stream:
public static Map<String, Integer> string2map2(List<String> lst){
Map<String, Integer> m = new HashMap<>();
for(String s : lst){
m.put("'"+s+"'", s.length());
}
return m;
}