LinkedList vs ArrayList——询问实现想法的观点



我想使用一个列表,它将存储某种类型的对象(让我们简单地说-书籍),所以我可以在listview对象中显示它们。我对这个有点陌生,所以我请求更高级和有经验的用户帮助我讨论以下问题-

  1. 用哪一个?Linkedlist是我熟悉的。然而,我如何让应用程序维护列表呢?我应该在XML中保存每个对象的详细信息吗?如果我这样做,是不是用数组列表更好?(请在回答中排除与处理时间有关的内容)

  2. 如果不是通过xml -我如何"存储"一个列表供以后使用,即使应用程序被关闭,后来激活?

谢谢!

当你想通过索引查找随机访问时,可以使用

数组列表。它们就像LinkedList一样适合迭代。

OTOH, LinkedList不需要调整大小,只有当内存不够容纳更多节点时,它才会耗尽空间。如果您有大量的数据增长,或者您正在执行大量的顺序添加/删除操作,那么LinkedList s将在性能上胜出。

有时您需要随机访问增长,在这些情况下,您需要判断您希望哪种标准更高效。

在你当前的用例中,我可能会选择一个数组列表,你可能会知道列表应该有多大,它不会经常改变大小,如果你想在GUI中显示这个东西,你可能需要做索引查找。

就存储列表而言,XML是最好的方法,CSV文件(或纯行分隔的文本文件)、YAML、JSON甚至类序列化都是一些替代方法,选择对您最简单和最方便的方法。

必须将数据存储到SQLite中。Android提供了一个非常简单的方法。看看这个教程:http://www.vogella.de/articles/AndroidSQLite/article.html

我更喜欢ArrayList而不是LinkedList,因为它有方法来操作内部用于存储列表的数组的大小

如果我要使用它作为堆栈,队列或双端队列,那么我会使用LinkedList

相关内容

  • 没有找到相关文章

最新更新