Java 8 List into Map

前端 未结 22 2725
半阙折子戏
半阙折子戏 2020-11-22 03:38

I want to translate a List of objects into a Map using Java 8\'s streams and lambdas.

This is how I would write it in Java 7 and below.

private Map&l         


        
22条回答
  •  执念已碎
    2020-11-22 04:12

    Another possibility only present in comments yet:

    Map result =
    choices.stream().collect(Collectors.toMap(c -> c.getName(), c -> c)));
    

    Useful if you want to use a parameter of a sub-object as Key:

    Map result =
    choices.stream().collect(Collectors.toMap(c -> c.getUser().getName(), c -> c)));
    

提交回复
热议问题