0

我有许多对象的列表。此外,我还有一组使用这些对象的列表。这是一个严格的规则,任何给定的对象要么属于主列表,要么属于其他列表之一。

通常,主对象包含对象的主列表。此外,这个主要对象也有自己的概念,将这些对象组合到任何单独的任意列表中。

我希望能够查询当前不属于任何其他列表的那些对象的列表。我可以自然地假设我可以同步这些对象的专用列表,但这不是我需要处理的方式。相反,在任何给定时间,我都需要能够获取那些不属于任何这些组列表的对象的列表。

换句话说,在所有可能对象的巨大列表中,我需要能够逐个迭代那些不属于任何其他组列表的对象。确定它是否属于这些列表之一很容易。但是如何获取不属于任何组的项目列表?

具体来说,无需创建一个完整的单独列表。我打算使用这个主要的对象列表,但过滤掉那些属于任何给定对象子列表的对象。

更具体地说,我需要能够遍历不属于任何其他列表的对象列表。我不想跟踪一个完全独立的“ugrouped”列表。我宁愿使用主列表,并在列表中按顺序迭代每个对象,同时跳过那些属于子列表的对象。

例如,假设我有一个包含 100 个小部件的主列表。其中只有 30 个被分类到某个特定的组列表中。其他 70 个对象仍然需要通过查询列表来访问。

我正在寻找类似...的循环

for X := 0 to UngroupedObjectCount-1 do begin
  O:= UngroupedObjectByIndex[X];
  //TODO: Do something with O
end;
4

0 回答 0