建议在Java中使用ArrayLists和HashMaps吗?

时间:2014-02-13 15:58:25

标签: java performance perl arraylist

我来自Perl,其中哈希和阵列使用起来非常舒适,因为它们非常动态,并且在背景中做很多事情,这通常会让程序员烦恼。

与此类似,我开始使用hashmaps和ArrayLists,因为它们使编程工作更容易,更快。但是性能怎么样?是否建议将这些类型的数据用于较大的项目,或者我应该仅限于使用字符串和数组的Java核心?

感谢所有答案: - )))

2 个答案:

答案 0 :(得分:1)

HashMapArrayList等是核心Java库的一部分,建议使用。

你也应该调查其他Collection,因为根据你正在做的事情,其他一些选项对你来说可能更好。

答案 1 :(得分:1)

如果您有一次(或几次)写入的不变数据并且多次读取,则数组可能(非常轻微)快于ArrayList。数组也可能比ArrayList消耗(略微)内存。但是,ArrayList特别是经常使用的类,因此能够使用它(更常见的是与实现List接口的其他类)以及在其下面的元素是有用的。存储在一个数组中,因此访问不应该真的更慢。

HashMap实现基于散列的映射。它们通常是O(1)访问数据结构和实现,因此它们确实值得推荐。作为实现Map接口的类,它们也是将一个对象映射到另一个对象的有用方法,这是一个常见的问题。

大多数Collections类(和接口)设计良好且易于使用。