我有一个数据表(不同行的列数可能会有所不同)。我还需要能够删除或添加新的数据行。
存储这些数据的最佳方式是什么?
我的第一个猜测是ArrayList
.
两种方法:
将所有内容都转换为字符串并使用 ,ArrayList<List<String>>
其中每个条目都是由 . 表示的行ArrayList<String>
。
正如dystroy所说,在表中创建一个代表a的类Row
,并使用ArrayList<Row>
row.getDate()
,而不是row.get(3)
)。我会选择 LinkedList,特别是如果您希望您的列表作为堆栈工作。
ArrayList 的主要缺点是,当达到容量时,它会重新创建一个更大的表 => 表分配,并且复制会降低性能。
而对于 LinkedList,没有容量的概念,因为所有工作都是通过指针来工作的。
据我说,更喜欢 ArrayList 而不是 LinkedList 的主要(并且在大多数情况下可能是唯一的......)原因是当您主要想要访问(读取部分)特定索引时。ArrayList 是 O(1),而 LinkedList 是 O(n)。
您可以阅读这篇文章以获取更多信息: