ArrayListMultimap Vs ArrayList,具有高性能?

时间:2012-10-12 06:22:43

标签: java performance collections guava

在我的应用程序中,我使用ArrayList(java.util)来存储大量自定义数据和处理。但是,当以预定方式连续使用时,它会导致进程延迟。所以我想切换到其他一些。

ArrayListMultimap(com.google.common.collect.ArrayListMultimap)的效果是否高于ArrayList?或者任何其他开源集合框架,其性能优于ArrayList

1 个答案:

答案 0 :(得分:3)

您执行的操作类型更多?如果您不确定,可以使用任何java profiler构建统计信息。

列表适用于存储对象,迭代。使用j.u.ArrayList执行remove,contains等操作并不是一个好主意,因为它们将是O(n)。移动到Map或Set应该小心,例如,你不能使用可变对象作为键,你必须定义equals和hashCode函数,如果计算量很大,你必须担心缓存hashCode值。

为了给出最佳答案,您应该指出在列表上运行的一组操作。

干杯