【发布时间】:2011-07-03 22:27:26
【问题描述】:
我正在构建一个 Android 应用程序(因此机器资源有限),我想知道我应该对 LinkedLists 有多挑剔。
我知道数组是最轻量的容器,并且在随机访问方面表现最好,因此如果只考虑性能,它们显然是理想的选择。然而,当你不知道你的列表会有多大时,它们的僵化是一种痛苦。
所以这是我的问题:在具有一个或多个不可预测大小列表的类中系统地使用以下类型的机制是否值得:
public class unpredictable
public Object[]realArray;
private LinkedList<Object> temp;
//what using classes will call to add items
public void add(Object item)
{
temp.add( item );
}
//what the outer class calls when it knows there's nothing left to add
public void doneAdding()
{
realArray = new Object[tmp.size()];
transferAndRecycle();
}
private void transferAndRecycle()
{
// copy items from linkedlist to array
}
所以我想我是在问是否值得采取额外的步骤来消除 Java 的 LinkedList 对象占用的额外空间?
任何输入?谢谢
【问题讨论】:
-
有过早优化的味道。
标签: java memory performance linked-list