我有两个对象数组data1
和data2
。然后使用如下所示的for循环过滤我的数据:
for (int i = 0; i < data1.size(); i++) {
for (int j = 0; j < data2.size(); j++) {
if (data1.get(i).getId().equals(data2.get(j).getID())) {
data1.get(i).setHome(data2.get(j).getHome());
}
}
}
转换效果很好,但是我想优化代码,我想使用stream
代替for循环。
Java没有为zip
API提供Stream
方法。您可以使用的替代方法是这样的:
IntStream.range(0, Math.min(arrayList2.size(), arrayList1.size())).forEach(i -> {
if (data1.get(i).getId().equals(data2.get(i).getID())) {
data1.get(i).setHome(data2.get(i).getHome());
}
});