好吧,为了解释问题问题......
我有:
一个包含数百万个条目的 Big DB 表(每个条目可能有“n”个列)。
这个概念:
我想向 Web 界面显示两个列表(例如“可用”和“已选择”)。当用户将条目从一个列表移动到另一个列表时,我需要将条目的唯一 ID(字符串类型)临时存储到我的服务器中名为“selected”的“未知数据结构”中,并且当用户最终单击提交时我会将此列表进一步传递给其他应用程序。
排序和过滤在 DB 中完成,然后将全部数据(以块为单位)加载回 java,然后检查每个条目是否被选中,并将其添加到将显示在网页界面。
for each entry{
if(selected.contains(currentEntry.ID)){
selectedList.add(currentEntry)
}else{
availableList.add(currentEntry)
}
}
列表 selectedList 和 availableList 将仅包含数百个条目(向用户显示的条目,大约是一个最多包含 100-200 个条目的页面),因此“条目”类型的列表足够好并且可以保存我的排序。
问题:
“选定”的结构必须包含数千个 id(有时可能达到数百万个)。
需求:
我需要快速访问以查找 id 是否存在(structure.contains(id)),所以我肯定会使用哈希结构。我需要使用最少内存资源的结构。
不需要:不需要
良好的删除性能。不需要排序。