在我的应用程序中,我使用ArrayList(java.util)
来存储大量自定义数据和处理。但是,当以预定方式连续使用时,它会导致进程延迟。所以我想切换到其他一些。
ArrayListMultimap(com.google.common.collect.ArrayListMultimap)
的效果是否高于ArrayList
?或者任何其他开源集合框架,其性能优于ArrayList
?
答案 0 :(得分:3)
您执行的操作类型更多?如果您不确定,可以使用任何java profiler构建统计信息。
列表适用于存储对象,迭代。使用j.u.ArrayList执行remove,contains等操作并不是一个好主意,因为它们将是O(n)。移动到Map或Set应该小心,例如,你不能使用可变对象作为键,你必须定义equals和hashCode函数,如果计算量很大,你必须担心缓存hashCode值。
为了给出最佳答案,您应该指出在列表上运行的一组操作。
干杯