【发布时间】:2015-06-15 15:56:50
【问题描述】:
我不知道如何用文字问这个问题,所以这里有一个例子:
建筑类有这样的数据:
Map<Season, List<Info>> infosBySeason = new TreeMap<Season, List<Info>>();
我想做的是循环每个建筑物,按季节信息打印。
喜欢:
Season 1 :
Building 1 :
Info 1, Info 2....
Building 2 :
Info 1, Info 2....
Season 2 :
Building 1 :
Info 1, Info 2....
Building 2 :
Info 1, Info 2....
我是否应该将 Season 作为外部类并为每个 Season 复制 Building?
有没有很好的方法来处理类之间的这种“多对多”关系?
【问题讨论】:
-
建筑是根据列表中的位置推断出来的吗?
-
回答你的问题:在某种程度上,集合比数据库低级;您本身并没有获得索引,因此您可以根据您将如何查找数据来构建数据。重复问题也存在于关系数据库中(这就是索引的工作方式),只是现在您自己管理它们。基本上,如果您通过
Seasion和Building查找,您将获得一些超出集合擅长的东西。 -
@DavidEhrmann 不确定您的第一个问题是什么意思。除了使用 Collections 之外,是否有一个通用的策略来处理这个问题?
-
“有点超出内置 Collections擅长的东西。”如果您不反对使用外部集合库,则可以查看MultiKeyMap 的Apache Collections' 实现。听起来你有点像新手,所以也许这不适合你,但仍然值得一提,IMO。
标签: java list oop collections