小编典典

Java流-将列表排序到列表的HashMap

java

假设我有一Dog堂课。

在其中,我有一个Map<String,String>,其中一个值是Breed

public class Dog {
    String id;
    ...
    public Map<String,String>
}

我想获得MapListS:

HashMap<String, List<Dog>> // breed to a List<Dog>

我宁愿使用a Stream而不是对其进行迭代。

我该怎么做?


阅读 306

收藏
2020-12-03

共1个答案

小编典典

您可以使用groupingBy

假设您的输入是a List<Dog>,则该类Map内的成员Dog称为map,并且为“ Breed”键存储了Breed:

List<Dog> dogs = ...
Map<String, List<Dog>> map = dogs.stream()
     .collect(Collectors.groupingBy(d -> d.map.get("Breed")));
2020-12-03