当前位置: 首页 > 面试题库 >

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

翁宏茂
2023-03-14
问题内容

需要从两个不同的表中加载项目列表(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


问题答案:

您将必须编写自己的列表实现,该列表将使用两个列表进行初始化,并将所有方法的执行委派给这两个列表,以确保变异操作。



 类似资料:
  • 我想知道是否有可能将不同流中的数据合并成一个流。通过合并,我的意思是将其添加到单独的列中,而不是添加到现有的列中。 到目前为止,我已经能够将数据收集到单独的地图中,如下面的示例所示。我认为我应该把这些地图合并成一张,但不确定如何去做,或者我是否做错了什么。 我做了一些搜索,在FlatMap、Concat等网站上找到了一些线索,但因为我对这条流还不熟悉 例如:列出数据-1

  • “想要解决方案B” 有什么办法可以做到这一点吗?

  • 问题内容: 我正在为客户/订单系统定义一个数据库,其中有两种高度不同的客户类型。因为它们是如此不同,所以只有一个客户表会非常丑陋(因为空列对于一种类型是毫无意义的,所以充满了空列)。 他们的订单虽然格式相同。我的订单表中是否可以有一列同时具有两种客户类型的外键?我已经在SQL Server中进行了设置, 创建 关系没有问题,但是我还没有尝试插入任何数据。 另外,我正在计划将nHibernate用作

  • 将来自许多不同来源(实际上是队列/主题)的消息聚合到单个队列/主题中,然后使用它的最佳方法是什么。我正在尝试设计一个应用程序,以使用weblogic从JMS中的不同主题接收消息。

  • Maven资源插件: 此目标要求配置要复制的资源,并指定OutputDirectory。 使用maven将中的两个(或更多)外部资源目录复制到构建输出目录(请参见和)。 下面是复制单个目录的示例:

  • 我在理解scalapb的语法时遇到了一些困难,特别是我正在尝试添加多个。多项目SBT构建的原型源目录。 我的项目结构如下: 我的身材。sbt如下: 当我运行sbt编译时,我得到以下错误消息: 有人能给我指出正确的方向吗?我不明白这里的一些基本概念... 编辑 好的,我指向了错误的原始目录序列。我已经修改了版本。sbt以反映新的变化。我仍然有一个问题,我的。子项目中未编译原型文件。如果我移动我的。p