gpt4 book ai didi

Java List 引用另一个 List 来修改自己

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:39:49 27 4
gpt4 key购买 nike

我觉得很可能有一个 java 库函数可以执行此操作,并且可能在 StackOverflow 上有另一个与此类似的问题,但我在初步搜索中找不到任何内容。

我有两个 java.util.List 对象,ListAListB。我想使用大于 ListAListB 来修改 ListA 中的元素。为此,我需要将 ListA 中的 ID 与其在 ListB 中的相应元素进行匹配(我之前的代码确保 ListA 中的每个元素> 将在 ListB 中),然后使用 ListB 中的字段修改 ListA

哈希函数是执行此操作的最佳方法吗?或者有更好的方法吗?

编辑:这两个列表没有相同类型的对象

最佳答案

您可能应该从 ListB 创建一个 Map,将 ID 属性映射到 ListB 中与该 ID 对应的元素。即使 ListB 是一个列表,将其动态转换为 Map 可能比搜索整个 ListB 更快对于 ListA 中的每个元素。

然后您可以为任何 A 获取相应的 B 并相应地修改该 A。这是一个简化的示例。

class A { int id; String foo; }
class B { int id; String bar; }

List<A> listA = ...
List<B> listB = ...
Map<Integer, B> mapB = listB.stream().collect(Collectors.toMap(b -> b.id, b -> b));
for (A a : listA) {
B b = mapB.get(a.id);
a.foo = b.bar;
}

关于Java List 引用另一个 List 来修改自己,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45084534/

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