相关疑难解决方法(0)

Java中的数组或列表.哪个更快?

我必须在内存中保留数千个字符串,以便在Java中以串行方式访问.我应该将它们存储在数组中还是应该使用某种List?

由于数组将所有数据保存在连续的内存块中(与Lists不同),使用数组存储数千个字符串会导致问题吗?

java arrays performance list

339
推荐指数
15
解决办法
25万
查看次数

Java性能 - 用于大量快速读取的ArrayLists与Arrays

我有一个程序,我需要在尽可能短的时间内(以毫秒为单位)对类似List的对象进行100,000到1,000,000次随机读取读取,以实现类似细胞自动机的程序.我认为我正在使用的更新算法已经过优化(有效跟踪活动单元等).列表确实需要改变大小,但性能并不重要.所以我想知道使用Arrays而不是ArrayLists的性能是否足以在如此短的时间内处理那么多读取时产生差异.目前,我正在使用ArrayLists.

编辑:我忘了提到:我只是存储整数,所以另一个因素是使用Integer包装类(在ArrayLists的情况下)与int(在数组的情况下).有没有人知道使用ArrayList实际上是否需要3个指针查找(一个用于ArrayList,一个用于底层数组,一个用于Integer-> int),因为数组只需要1(数组地址+偏移到特定的INT)?HotSpot会优化额外的外观吗?这些额外的观察有多重要?

Edit2:另外,我忘了提到我还需要进行随机访问写入(写入,而不是插入).

java arrays performance arraylist

14
推荐指数
2
解决办法
3万
查看次数

标签 统计

arrays ×2

java ×2

performance ×2

arraylist ×1

list ×1