这个问题可以看作是基于 Java 8嵌套流 的。
假设我有一个包含
我该如何做?
我想去的第一步:
非常感谢。
假设我有一个包含
Basket
和Item
的Batch
:public class Batch {
private List<Basket> baskets;
}
public class Basket {
private List<Item> items;
}
public class Item {
private String property;
private int value;
}
我希望使用Java 8流重写此方法。
public class SomeService {
public int findValueInBatch(Batch batch) {
for (Basket basket : batch.getBaskets()) {
for (Item item : basket.getItems()) {
if (item.getProperty().equals("someValue") {
return item.getValue();
}
}
}
return 0;
}
}
我该如何做?
我想去的第一步:
public int findValueInBatch(Batch batch) {
for (Basket basket : batch.getBaskets()) {
basket.getItems().stream()
.filter(item -> item.getProperty.equals("someValue")
.findFirst()
.get();
// there I should 'break'
}
}
非常感谢。