Android ArrayList或SQLite

Android ArrayList或SQLite,android,sqlite,arraylist,Android,Sqlite,Arraylist,在Android中存储数据方面,使用大型ArrayList还是设置SQLite数据库更有效?我需要存储大约9000个公交站点和站点名称(都是字符串),我想知道哪种方法最快或最有效。一个ArrayList可能是一个非常糟糕的主意。我假设您希望数据是持久的,因此如果您的用户杀死您的应用程序,那么如果您使用ArrayList,您的数据将丢失。数据库是持久的(除非用户清除应用程序的缓存)。因此,我强烈建议使用数据库而不是ArrayList 如果您的数据没有更改,那么您可能会在启动时读取数据,并在应用程序

在Android中存储数据方面,使用大型ArrayList还是设置SQLite数据库更有效?我需要存储大约9000个公交站点和站点名称(都是字符串),我想知道哪种方法最快或最有效。

一个ArrayList可能是一个非常糟糕的主意。我假设您希望数据是持久的,因此如果您的用户杀死您的应用程序,那么如果您使用ArrayList,您的数据将丢失。数据库是持久的(除非用户清除应用程序的缓存)。因此,我强烈建议使用数据库而不是ArrayList

如果您的数据没有更改,那么您可能会在启动时读取数据,并在应用程序运行时将其保存在内存中。例如,拥有一个包含所有站点的.json文件,在启动时读取它,将数据放入HashMap或其他易于使用的东西中,因为您可能会查找内容。大约9000个条目可能可以正常工作

如果您打算在使用过程中添加或更新有关停止的信息,那么SQLite是更好的选择。

1。)因为您需要持久性,所以可以从SQLite数据库中存储和检索数据。因为你说你有9k+行,一个简单的选择会立刻给你所有的东西,如果你需要的话,你也可以很容易地过滤数据

2.)启动时,将所有数据放入HashMaps(或ArrayList)等高效内存结构中,并在整个应用程序中引用它们。这样,您只需执行一次访问


3.)如有疑问,建立数据库。没有伤害,比文件更有效,更易于处理

感谢您的回复。对于数据库,我如何只填充一次数据库?这里有一个很棒的教程:,基本上只需创建一次数据库,插入数据,然后每次需要数据时都可以查询它。感谢您的回复。如果信息保持持久性(即不更改停止和停止名称),该怎么办。这些信息将被简单地读取。然后创建一个包含所有信息的数据文件,并将其与应用程序打包,从而在启动时将其读取到内存中就可以了。