gpt4 book ai didi

java - 将 Integer 的 ArrayList 与多个 ArrayList 进行比较以提取共同值

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

我有一个整数的 ArrayList,是从 MapDB 映射中提取的,代码如下:

ArrayList<Integer> idOffUser=users.get(myUser).getOffers();

这是一个 id 列表。我有来自同一个数据库的另一个 ConcurrentNavigableMap,称为拍卖。在这个映射中,对于每个需要维护的对象,我都有一个名为 offId 的整数数组列表,它有一个唯一整数列表,每个整数代表一个特定的报价。每个 offId 都会被引用到该 map 的特定对象(拍卖)。
在每个 offId 中,都可以(或不!)匹配 idOffUser 的某些元素,因此我需要在拍卖中提取其 offId 至少与 idOffUser 元素匹配的对象,排除重复项,因为我只需要知道用户在哪个拍卖中提出了报价,但用户可以在一次拍卖中提出多个报价。
由于这种方法,我需要有一个 ArrayList,其中包含用户至少提出报价的每个拍卖对象。
到目前为止,我知道我可以通过这种方式访问​​拍卖中的报价数组列表:

for (Auction key : auctions.values())
key.getOffId();

最佳答案

像这样的事情应该可以解决问题:

Set<Integer> uniqueIds = new HashSet<>();
for (Auction key : auctions.values())
uniqueIds.addAll(key.getOffId());
List<Integer> idsOfUsersWithAuctions = idOffUser.stream().filter(id -> uniqueIds.contains(id)).collect(Collectors.toList());

关于java - 将 Integer 的 ArrayList 与多个 ArrayList 进行比较以提取共同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48644243/

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