我一直在尝试使用Stream而不是增强的for循环,但是我不能正确地合并if语句。 如有任何帮助,将不胜感激
List<Donut> newDonuts = new ArrayList<>();
for (Donut currentElement : availableDonuts) {
if (!alreadyPickedDonuts.contains(currentElement)) {
newDonuts.add(currentElement);
if (newDonuts.size() == extraDonutsRequired) {
break;
}
}
}
您可以执行:
availableDonuts.stream()
.filter(currentElement -> !alreadyPickedDonuts.contains(currentElement))
.limit(extraDonutsRequired)
.collect(Collectors.toList());