我来自Perl,其中哈希和阵列使用起来非常舒适,因为它们非常动态,并且在背景中做很多事情,这通常会让程序员烦恼。
与此类似,我开始使用hashmaps和ArrayLists,因为它们使编程工作更容易,更快。但是性能怎么样?是否建议将这些类型的数据用于较大的项目,或者我应该仅限于使用字符串和数组的Java核心?
感谢所有答案: - )))
答案 0 :(得分:1)
HashMap
,ArrayList
等是核心Java库的一部分,建议使用。
你也应该调查其他Collection
,因为根据你正在做的事情,其他一些选项对你来说可能更好。
答案 1 :(得分:1)
如果您有一次(或几次)写入的不变数据并且多次读取,则数组可能(非常轻微)快于ArrayList
。数组也可能比ArrayList
消耗(略微)内存。但是,ArrayList
特别是经常使用的类,因此能够使用它(更常见的是与实现List
接口的其他类)以及在其下面的元素是有用的。存储在一个数组中,因此访问不应该真的更慢。
HashMap
实现基于散列的映射。它们通常是O(1)
访问数据结构和实现,因此它们确实值得推荐。作为实现Map
接口的类,它们也是将一个对象映射到另一个对象的有用方法,这是一个常见的问题。
大多数Collections
类(和接口)设计良好且易于使用。