我有一个包含用户数据的类。
public class UserData {
@JsonProperty("uid")
private String userId;
@JsonProperty("cities")
private List<Integer> cities;
}
Run Code Online (Sandbox Code Playgroud)
从List<UserData>,我想提取所有独特的城市。改变,我正在为此做,
Set<Integer> citiesList = new HashSet<>();
for (UserData userData : userDataList)
citiesList.addAll(userData.getCities());
Run Code Online (Sandbox Code Playgroud)
lambda这些变化的表达方式是什么?
任何帮助将非常感激。
感觉你应该使用.flatMap()withList.stream()操作,而不是特定的 lambda 表达式:
Set<Integer> citiesList = userDataList.stream()
.map(UserData::getCities)
.flatMap(List::stream)
.collect(Collectors.toSet());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60 次 |
| 最近记录: |