如何在没有唯一 ID 的情况下保存列表中的对象(belongsTo、hasMany)
当我有集合时,每个对象都是唯一的,但它们属于某个parentId,我应该如何存储它?
我的想法是
- ArrayList
objects_list; // 存储这些对象 ArrayList
// 存储; parents_list parent_id
与int[] object_list.id
的
所以连接将是
object_list.item ownsToparents_list.item
parents_list.item hasMany object_list.item
难道没有一些更高效、更Java的解决方案吗?
稍微解释一下:
我有对象集合,其中每个对象在某个变量中都有 parent_id
。
我需要存储这些对象,以便我可以轻松地通过其 parent_id
选择所有对象
,而且我不能使用简单的一个以 parent_id
作为 key
的 ArrayList ,因为 key
必须是唯一的。
那么如何存储它们,通过 parent_id
获取所有对象,如 Collection.getByParentId(parent_id)
?
When I have collection, where each object is unique but they belong to some parentId, how should I store it?
My Idea is
ArrayList <MyType> objects_list;
// to store those objectsArrayList <int[]> parents_list
// to storeparent_id
vsint[] object_list.id
's
So connection would be
object_list.item belongsTo parents_list.item
parents_list.item hasMany object_list.item
Isn't there some more efficient, more Java, solution?
Little more explain:
I have collection of object, where every object has parent_id
in some variable within.
I need to store those objects, so that I could easily select all objects by their parent_id
And I cannot use simple one ArrayList with parent_id
as key
, because key
has to be unique.
So how to store them, to fetch all objects by their parent_id
like Collection.getByParentId(parent_id)
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
就像戴夫之前说过,将父ID存储在
MyType
中。Like Dave said before, store the parent ID in
MyType
.尝试使用 Guava 的 ListMultimap
然后你可以这样做:
Try using Guava's ListMultimap
Then you can do:
是的;将
parent_id
保留在 MyType 中,它所属的位置,或者不将其存储在任何地方,并在需要时使用父对象的 ID(目前尚不清楚您实际想要完成的任务)。Yes; keep
parent_id
in MyType, where it belongs, or don't store it anywhere, and use the parent object's ID when you need it (it's unclear as worded what you're actually trying to accomplish).您可以这样访问它:
You can access it like this: