Java 8 Lambda - Schnittpunkt zweier Listen

Ich versuche, @ zu findintersection von zwei Listen basierend auf einer Bedingung und einigen Schritten. Konnte keinen Weg finden, dies zu tun (in der Lernphase):)

Double totalAmount = 0.00d;
Double discount = 0.00d;


List<OrderLineEntry> orderLineEntryList = orderEntry.getOrderReleases().stream()
    .flatMap(orderReleaseEntry -> orderReleaseEntry.getOrderLines().stream())
    .filter(orderLineEntry -> orderLineEntry.getStatus().equals("PP") || orderLineEntry.getStatus().equals("PD"))
    .collect(Collectors.toList());

for (OrderLineEntry orderLineEntry : orderLineEntryList) {
    for (SplitLineEntry splitLineEntry : splitReleaseEntry.getLineEntries()) {
        if (splitLineEntry.getOrderLineId().equals(orderLineEntry.getId()) && splitLineEntry.getStatusCode() != "PX") {
            totalAmount += orderLineEntry.getFinalAmount();
            couponDiscount += orderLineEntry.getCouponDiscount() == null ? 0.00d : orderLineEntry.getCouponDiscount();
        }
    }
}

Wie Sie sehen, ist die Logik einfach

Get Alle Artikel aus der Bestellung basierend auf einem Filterlist und überschneiden sich mit einem anderenlist und mach ein paar Sachen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage