如何使用流代替循环并从中受益

问题描述 投票:0回答:1

我有两个对象数组data1data2。然后使用如下所示的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 stream
1个回答
0
投票

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());
   }
});
© www.soinside.com 2019 - 2024. All rights reserved.