![]() |
1
3
您必须使用顺序列表吗?如果贴图类型结构更合适,则可以使用
编辑以反映OP的编辑:插入顺序上的二进制搜索?在二进制搜索中,是否存储时间戳并将其用于比较?如果是这样,您可以使用时间戳作为密钥,并且
|
![]() |
2
1
如果您可以精确地定义所需的语义,那么应该可以解决这个问题——但您可能会发现,您需要编写自己的集合类型来正确有效地完成这项工作。或者, CopyOnWriteArrayList |
![]() |
3
1
我不知道这是否是解决这个问题的可行办法,但是。。。对我来说,使用数据库管理器保存大量数据并让它管理事务是有意义的 |
![]() |
4
1
我支持 Telcontar's suggestion 因为它们实际上是为管理这种规模的数据和线程之间的协商而设计的,而内存中的集合则不是。 您说数据位于服务器上的数据库中,而客户端上的本地列表是为了用户界面。您不需要一次在客户机上保存所有100000项,也不需要对其执行如此复杂的编辑。在我看来,客户机上需要的是数据库上的轻量级缓存。 编写一个缓存,一次只在客户端上存储当前数据子集。此客户端缓存不会对其自身的数据执行复杂的多线程编辑;相反,它将所有编辑内容都传送到服务器,并侦听更新。当服务器上的数据发生更改时,客户端会忘记旧数据并再次加载。仅允许一个指定线程读取或写入集合本身。这样,客户端只需镜像服务器上发生的编辑,而不需要复杂的编辑本身。 是的,这是一个相当复杂的解决方案。它的组成部分是:
显然,有很多细节需要你自己去填写。 |
![]() |
5
1
这是一个简单的解决方案。在使用更复杂的解决方案之前,我会尝试一下。 |
![]() |
Giffyguy · 如何限制在构造向量后调用'resize()'? 3 年前 |
![]() |
vytaute · 返回表类型时Oracle函数中的类型错误 3 年前 |
![]() |
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 3 年前 |
![]() |
dev-chicco · Laravel系列寻找常见物品 3 年前 |
![]() |
Mitch · Laravel-雄辩的单品合并系列 7 年前 |
![]() |
Kieran · 为什么类X可以从集合继承<X> 7 年前 |
![]() |
John · 如何在不返回集合本身的情况下返回集合的数据? 7 年前 |
![]() |
Niklas Mertsch · 在泛型集合中实现移除(对象o) 7 年前 |