我想使用一个列表,它将存储某种类型的对象(让我们简单地说-书籍),所以我可以在listview对象中显示它们。我对这个有点陌生,所以我请求更高级和有经验的用户帮助我讨论以下问题-
-
用哪一个?Linkedlist是我熟悉的。然而,我如何让应用程序维护列表呢?我应该在XML中保存每个对象的详细信息吗?如果我这样做,是不是用数组列表更好?(请在回答中排除与处理时间有关的内容)
-
如果不是通过xml -我如何"存储"一个列表供以后使用,即使应用程序被关闭,后来激活?
谢谢!
当你想通过索引查找来随机访问时,可以使用
数组列表。它们就像LinkedList
一样适合迭代。
OTOH, LinkedList
不需要调整大小,只有当内存不够容纳更多节点时,它才会耗尽空间。如果您有大量的数据增长,或者您正在执行大量的顺序添加/删除操作,那么LinkedList
s将在性能上胜出。
有时您需要随机访问和增长,在这些情况下,您需要判断您希望哪种标准更高效。
在你当前的用例中,我可能会选择一个数组列表,你可能会知道列表应该有多大,它不会经常改变大小,如果你想在GUI中显示这个东西,你可能需要做索引查找。
就存储列表而言,XML是最好的方法,CSV文件(或纯行分隔的文本文件)、YAML、JSON甚至类序列化都是一些替代方法,选择对您最简单和最方便的方法。
必须将数据存储到SQLite中。Android提供了一个非常简单的方法。看看这个教程:http://www.vogella.de/articles/AndroidSQLite/article.html
我更喜欢ArrayList而不是LinkedList,因为它有方法来操作内部用于存储列表的数组的大小
如果我要使用它作为堆栈,队列或双端队列,那么我会使用LinkedList