我有一个包含用户数据的类。
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 次 |
最近记录: |