gpt4 book ai didi

java - 将多个源 ArrayList 同步到单个目标列表

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

需要从两个不同的表中加载项目列表(ArrayList)。由于复杂的 Hibernate 映射,它们不能作为一个 ArrayList 加载。所以它们在类定义中被两个不同的 Hibernate 包分开加载。当我使用它们时,我想合并成一个列表。所以我想写一个函数如下,

private List<Item> combinedList = new ArrayList<Item>();

public List<Item> getCombinedList()
{
combinedList.clear();
combinedList.addAll(getList1());
combinedList.addAll(getList2());
return combinedList;
}

getCombinedList() 将用于显示项目并用于其他只读操作。任何删除或修改或添加操作仍将在 List1 和 List2 中执行(因为它将由 Hibernate 处理)。

我的问题是,当源列表发生变化时,我如何才能高效地将 getCombinedList() 与源列表同步?

更新:每次都调用 getCombinedList() 来获取最新的项目是低效的。我正在寻找一种同步底层数据结构 combinedList 的方法。

最佳答案

您必须编写自己的列表实现,该列表将使用这两个列表进行初始化,并将所有方法执行委托(delegate)给它们以确保突变操作安全。

关于java - 将多个源 ArrayList 同步到单个目标列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3492786/

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