我正在对大型数据集进行一些实验,并希望优化特定部分。目前,我有 5-6 Model
s 每个存储来自 Topic
的映射s 至 List
的 String
秒。 Topic
的一套s 很大并且每个 Model
之间都相同,所以必须有更好的方法。最终我需要执行的查询是:String
是什么?在 List
的位置 x对于一些 Model
- Topic
组合。
使用映射方法的一个问题是,如果有 500k-5M 个主题,每个主题都有一个包含 20 个字符串的列表。然后是我的Map<Model, Map<Topic, List<String>>>
将是巨大的。
最佳答案
您尝试过 SortedSet/Maps 吗?听起来您需要优化搜索,排序的集合(如 TreeMap)应该是 log(n),而常规列表是 O(1)。当然,这种事情是数据库擅长的...
关于java - 寻找内存高效设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12982745/