LinkedList与ArrayList - 询问实现思路的观点

时间:2011-12-02 14:48:57

标签: java android xml eclipse linked-list

我想使用一个列表来存储某种类型的对象(简单来说就是书籍),这样我就可以在listview对象中显示它们。 我对此有点新意,所以我向更高级和经验丰富的用户寻求以下辩论的帮助 -

  1. 使用哪一个? Linkedlist是我熟悉的东西。但是,我如何让应用程序维护列表?我应该在XML中保存每个对象的详细信息吗?如果我这样做,使用Arraylist不是更好吗? (请在答案中排除与处理时间有关的事项。)

  2. 如果不是通过xml - 即使应用程序关闭并稍后激活,我如何“存储”列表供以后使用?

  3. 谢谢!

3 个答案:

答案 0 :(得分:1)

通过索引查找进行随机访问时,可以使用ArrayLists。它们非常适合迭代LinkedList s。

OTOH,LinkedList不需要调整大小,当内存不足以容纳更多节点时,它只会耗尽空间。如果您有大量的数据增长,或者您正在进行大量的顺序添加/删除,那么LinkedList将赢得性能。

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

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

就存储列表而言,XML与任何文件一样好,CSV文件(或简单的行分隔文本文件),YAML,JSON甚至类序列化都是一些选择,选择最简单,最方便的方法

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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