我有一个为用户保存信息的Web服务。每个用户都有一个项目列表,可能有数千个。我想在列表中添加项目而不加载整个列表。是否有一个列表实现,允许您将元素添加到列表而不将整个列表放入内存?
答案 0 :(得分:1)
双重链接列表。根据定义,没有必要遍历列表以向末尾添加内容,因为它包含指向结尾的指针。
答案 1 :(得分:1)
列表位于远程数据库中。 - 块状
所以列表在数据库中,所以它不是真正的Java列表?它只是一堆数据库行?在这种情况下,为什么不只是插入数据库以添加另一行?
答案 2 :(得分:1)
懒惰代理。您可以使用JDK动态代理(java.lang.reflect.Proxy
),其中只存储从数据库检索项目所需的信息,而不是项目本身。只有在调用get(..)
,size()
,contains(..)
方法时才会获取数据。
但是我觉得你做错了事。提供有关实施的更多详细信息。
答案 3 :(得分:1)
INSERT INTO list VALUES 1, 2, 3;
答案 4 :(得分:0)
我不知道。 对于像Terracotta这样的中间件,可以按需部分加载某些集合(例如地图),但这在标准JDK中不存在。