gpt4 book ai didi

java - 将两个列表结构链接在一起

转载 作者:行者123 更新时间:2023-12-01 15:14:51 26 4
gpt4 key购买 nike

我有两个列表。 列表 A列表 B

列表 A 的每个元素都有一个来自 列表 B 的元素列表。我已经填充了两个列表,但列表 A 的元素中的列表填充仍有待完成。

它们都有一个可以进行链接的属性;说

列表 B 中的一个元素;如果将字段 1 作为列表 A 中元素的 id,则它将添加到列表 A 中的该元素。

现在我正在另一个 for 循环中使用 for 循环来执行此操作。像这样的东西

for(each A)
{
for(each B)
{
if(fieldsmatch)
{
add B to the List of the element from A
}
}

如果我对列表 A 中的所有元素进行哈希处理,然后在遍历列表 B 中的每个元素时执行查找,会不会更好。

谢谢。

我可以为此使用 HashMap 吗?

最佳答案

我会颠倒逻辑。从 B 创建一个 hashmap,将每个 id 映射到具有该 id 的元素列表。然后对于A的每个元素,通过id查找列表,并将其分配给A元素中的字段。

Map<IdType, List<B>> map = new HashMap<IdType, List<B>>();
for(each b in B) {
List<B> list = map.get(b.id);
if (list == null) {
list = new ArrayList<B>();
map.put(b.id, list);
}
list.add(b);
}
for(each a in A) {
a.b_list = map.get(a.id);
// if you need an empty list instead of null:
if (a.b_list == null) {
a.b_list = new ArrayList<B>();
}
}

关于java - 将两个列表结构链接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11771053/

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