【发布时间】:2011-05-03 15:20:26
【问题描述】:
描述这种情况的最佳方式是解释情况。
假设我有一家生产椅子的工厂。现在工厂分为5个部分。椅子可以完全在一个区域或多个区域制作。椅子的制造者将椅子的属性添加到椅子对象中。在一天结束时,这些对象由我的虚构程序收集并添加到 X 数据类型(ArrayList 等)中。
添加椅子时,它必须检查椅子是否已经存在,如果存在则不替换现有椅子,而是将椅子属性附加到它(不要担心这部分,我已经涵盖了)
所以基本上我想要一个结构,而不是直接插入它,否则我可以轻松检查对象是否存在,否则执行追加。所以我需要找到与某个唯一 ID 匹配的椅子。有点像一套除了不匹配同一个对象之外,如果一把椅子是在三个区域中制作的,它将是三个不同的对象——在现实生活中,它们都代表同一个对象——但我只想要一个对象来保存所有对象的全部属性内容椅子。
一旦它在工厂的所有区域收集并执行更新,它就需要遍历每个对象并将其内容添加到数据库中。再次不要考虑添加到所涵盖的数据库等。
我只是想知道 Java 中最好的数据结构是什么来匹配这个规范。
提前谢谢你。
【问题讨论】:
-
如果两把椅子有不同的属性,你如何判断它们是否是同一把椅子?
-
如果你贴一些代码会更容易想象。
-
@StriplingWarrior 需要与数据类型中椅子对象的唯一 id 匹配。属性作为不同的对象存储在每个椅子对象的数组列表中。如果在唯一 id 上进行匹配,则属性对象被简单地复制到现有的 chairs 属性数组列表中,否则不匹配它将整个对象添加到数据类型中。
标签: java data-structures containers