我正在编写一个惰性列表,以从具有给定条件和给定分页(起始索引和所需项目数)的数据库中检索项目。
在列表的实例化时,我计算映射表中的项目总数,这样我就有了列表的初始大小(initial,因为列表允许添加和删除项目)。
它几乎可以工作,但是在确定要获取的具体项目数量时我遇到了一些麻烦:实际上,我让用户指定给定的获取大小(例如10,在这个例子中)。
为了确定要获取的项目的确切数量,目前,我将获取大小因子添加到集合中项目的当前索引(从数据库表中检索的最后一个):如果结果小于或等于总计数,我没有做任何动作(并且提取工作非常清楚),但如果它大于总数,我计算剩余的要提取的项目失败。
实际上,为了计算剩余项目数,我从集合中的项目总数中减去当前索引+ 1(索引从零开始),这在所有情况下都不起作用。
你知道如何计算正确的因子吗?非常感谢各位!