ObjectArrayList优于ArrayList的首选用法

时间:2018-08-15 05:10:35

标签: java fastutil

我对Java非常陌生。我最近遇到了 fastutil 并发现了ObjectArrayList类。

如果使用ObjectArrayList而不是ArrayList,性能是否会有差异?使用ObjectArrayList的用例是什么?

2 个答案:

答案 0 :(得分:3)

根据fastutil documentation

  

基于类型的基于数组的列表;提供了一些其他的使用多态性来避免装箱的方法。

在发生(un)boxing的情况下,fastutil的实现具有性能优势。

ObjectArrayList由通用类型数组支持。尽管ArrayList得到Object[]的支持,但实际上两者之间的性能是正常的。但是,FWIW似乎该库提供了原始支持的数组IntArrayList DoubleArrayList,其中这些装箱声明实际上可以在大型数据集中看到明显的好处。

但是,如果您不熟悉Java。在寻求其他变体之前,我强烈建议您先熟悉java.util.ArrayList。在大多数情况下,采用标准会带来性能优势。

答案 1 :(得分:1)

当您开始学习一种新语言时,您不必担心表现。着重基础知识。编写运行的代码,然后编写有用的代码。仅当您编写的代码影响您周围的世界时(例如编写工作代码),速度和效率才重要。不用担心fastutil和ObjectArrayList。使用ArrayList完成您的应用程序,如果您的应用程序对您而言太慢,那么您应该更快地找到一些东西。