假设我有一Dog堂课。
Dog
在其中,我有一个Map<String,String>,其中一个值是Breed。
Map<String,String>
Breed
public class Dog { String id; ... public Map<String,String> }
我想获得Map的ListS:
Map
List
HashMap<String, List<Dog>> // breed to a List<Dog>
我宁愿使用a Stream而不是对其进行迭代。
Stream
我该怎么做?
您可以使用groupingBy。
groupingBy
假设您的输入是a List<Dog>,则该类Map内的成员Dog称为map,并且为“ Breed”键存储了Breed:
List<Dog>
map
List<Dog> dogs = ... Map<String, List<Dog>> map = dogs.stream() .collect(Collectors.groupingBy(d -> d.map.get("Breed")));