gpt4 book ai didi

java - 使用流 Java 1.8 将嵌套的 FOR 循环转换为流

转载 作者:行者123 更新时间:2023-11-30 06:24:29 27 4
gpt4 key购买 nike

想知道如何使用 java 1.8 流转换两个嵌套的 FOR 循环。设想:变量 usrAccountId - 由用户发送和变量 accountDetailsinRedis - 实际上帐户存在于数据库中。我实际上是在比较用户发送的 accountId 与数据库中的 accountId 相同。这是下面的代码,我有两个嵌套的 FOR 循环,我想使用 Stream 将其转换为 Java 1.8。任何人都有任何想法。

for (int usrAccountId : acctIDstoValidate) {

for (Account account : accountDetailsinRedis) {

最佳答案

根据你的实际逻辑,你传递了多个id s 来匹配。
所以你可以有多个匹配。

acctIDstoValidate 上直播,然后用 flatMap() 链接它上accountDetailsinRedisid 进行过滤.

Collection<Integer> acctIDstoValidate = ...;
Collection<Account> accountDetailsinRedis = ...;


List<Account> matching = acctIDstoValidate.stream()
.flatMap(idToValidate-> accountDetailsinRedis.stream()
.filter(b-> b.getId() == idToValidate))
.collect(Collectors.toList());

关于java - 使用流 Java 1.8 将嵌套的 FOR 循环转换为流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47478883/

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