gpt4 book ai didi

java - 从大 ArrayList 中存储/获取数据

转载 作者:行者123 更新时间:2023-12-01 20:13:13 25 4
gpt4 key购买 nike

我正在构建一个连接到 API 的应用程序,该应用程序返回大量具有相同模型的列表以及许多可能重复该模型的 View ,

所以我认为,我可以拥有 1 个随更改更新并从中获取数据的列表,而不是存储需要通知其他列表有关模型中的更改的多个列表。在某种程度上,我制作了一个小型数据库,其中有一个表将保留在 RAM 中

我的第一个问题是,如果列表变大,会出现内存问题吗? (目前我将其上限设置为 700 个项目,在用户端没有任何问题)

其次,我获取数据的方式是不断在该列表中循环并根据需要进行过滤,当列表变大时这会影响性能吗?

最后,这个结构不是比 Sqllite 数据库更快吗?

最佳答案

ArrayList 访问元素速度更快,时间复杂度为 O(1)。但通过迭代来过滤列表会明显变慢。这将导致 O(N),如果您需要比较列表中的元素,则情况会更糟,这将导致 O(N^2) 等等。

因此,如果您计划仅进行快速访问,那么将其保留在内存中就可以了,但如果您需要对其进行一些 sql 查询,那么您应该选择数据存储解决方案。内置的 SQLite 存储或类似 Realm 的东西。

关于java - 从大 ArrayList 中存储/获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46344057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com