提问者:小点点

增强的循环到流


我一直在尝试使用Stream而不是增强的for循环,但是我不能正确地合并if语句。 如有任何帮助,将不胜感激

List<Donut> newDonuts = new ArrayList<>();
for (Donut currentElement : availableDonuts) {
    if (!alreadyPickedDonuts.contains(currentElement)) {
        newDonuts.add(currentElement);
        if (newDonuts.size() == extraDonutsRequired) {
            break;
        }
    }
}

共1个答案

匿名用户

您可以执行:

availableDonuts.stream()
            .filter(currentElement -> !alreadyPickedDonuts.contains(currentElement))
            .limit(extraDonutsRequired)
            .collect(Collectors.toList());