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