我有一个List
类型的Car
public class Car {
private String make;
private String model;
private Engine engine;
//getters and setters below...
}
我想从我拥有的引擎列表中更新
Engine
中每个Car
的List
属性。使用for循环,我可以通过以下方式完成此操作:if (myListOfCars.size() == myListOfEngines.size()) {
for (int i = 0; i < myListOfCars.length(); i++) {
myListOfCars.get(i).setEngine(myListOfEngines.get(i));
}
}
如何使用Java Streams完成相同的逻辑?
如果您有更好的标题建议,请分享。
最佳答案
我认为for loop
更具可读性,但这也可以完成工作。
if (myListOfCars.size() == myListOfEngines.size()) {
IntStream.range(0, myListOfCars.size())
.forEach(
i -> myListOfCars.get(i).setEngine(myListOfEngines.get(i)
)
);
}
请注意,如果您复制
.length()
,我已将其替换为.size()
。关于java - 如何使用Java Streams从类型为Engine的列表更新类型为Car的列表的Engine属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38338539/