添加到列表而不将整个列表带入内存

时间:2010-03-11 15:42:52

标签: java list

我有一个为用户保存信息的Web服务。每个用户都有一个项目列表,可能有数千个。我想在列表中添加项目而不加载整个列表。是否有一个列表实现,允许您将元素添加到列表而不将整个列表放入内存?

5 个答案:

答案 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中不存在。