gpt4 book ai didi

foreach - 如何在java8中嵌套的forEach()中设置值?

转载 作者:行者123 更新时间:2023-12-02 19:59:25 25 4
gpt4 key购买 nike

我有一个案例,我正在迭代 List<DiscountClass>并且需要将列表值与另一个 List<TypeCode> 进行比较,基于满足条件(当 Discount.code 等于 TypeCode.code 时)我需要设置 Discount.setCodeDescr() 。如何在 java 8 中使用嵌套的 forEach 循环来实现这一点? (在比较 java 8 forEach 中的值后我无法设置)。

for (Discount dis : discountList) {
for (TypeCode code : typeCodeList) {
if (dis.getCode().equals(code.getCode())) {
dis.setCodeDesc(code.getCodeDesc());
}
}
}

最佳答案

使用 java 8 lambda 的可能解决方案如下所示:

    discountList.forEach(dis -> {
typeCodeList
.stream()
.filter(code -> dis.getCode().equals(code.getCode()))
.findAny()
.ifPresent(code -> dis.setCodeDesc(code.getCodeDesc()));
});

对于每个折扣,您根据代码过滤 TypeCode,如果找到任何 TypeCode,则将 desc poperty 设置为找到的 TypeCode 之一。

关于foreach - 如何在java8中嵌套的forEach()中设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56224297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com