-1 java java-stream
我有一个if语句嵌套在for循环内,而这两个都嵌套在另一个for循环内。我想提出一些建议,如果可以使用流API对其进行替换,以及是否应该对其进行替换或保留原样。
我一直在寻找解决方案,但是我想要的事情似乎更加复杂,因为我需要基于与另一个列表匹配的ID来修改一个列表。
for (User user : userList) {
for (Vehicle vehicle : vehicleList) {
if (user.getId().equals(vehicle.getUserID())) {
user.addVehicleToList(vehicle);
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用流产生相同的结果。
小智 5
如果要使用Stream API,请使用以下代码。
userList.forEach(user -> {
vehicleList.stream()
.filter(vehicle -> vehicle.getUserID().equals(user.getId()))
.forEach(user::addVehicleToList);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |