建议在Java中使用ArrayList和HashMaps?

建议在Java中使用ArrayList和HashMaps?,java,performance,perl,arraylist,Java,Performance,Perl,Arraylist,我来自Perl,那里的散列和数组使用起来很舒服,因为它们是非常动态的,并且在后台做很多事情,这通常会惹恼程序员 与此类似,我开始使用hashmaps和ArrayList,因为它们使编程工作更容易、更快。但表现如何?是否建议在更大的项目中使用这些类型的数据,还是只限于使用字符串和数组的Java核心 感谢您的所有回答:-)HashMap,ArrayList等都是核心Java库的一部分,建议您使用 不过,您也应该调查其他集合,因为根据您所做的工作,其他一些选项可能对您更有利。如果您有一次(或几次)写入

我来自Perl,那里的散列和数组使用起来很舒服,因为它们是非常动态的,并且在后台做很多事情,这通常会惹恼程序员

与此类似,我开始使用hashmaps和ArrayList,因为它们使编程工作更容易、更快。但表现如何?是否建议在更大的项目中使用这些类型的数据,还是只限于使用字符串和数组的Java核心


感谢您的所有回答:-)

HashMap
ArrayList
等都是核心Java库的一部分,建议您使用


不过,您也应该调查其他
集合,因为根据您所做的工作,其他一些选项可能对您更有利。

如果您有一次(或几次)写入并多次读取的不变数据,则数组可能(稍微)比
数组列表快。与
ArrayList
相比,数组可能会消耗(少量)内存。但是,
ArrayList
尤其是一个经常使用的类,因此能够使用它非常有用(更一般地说,可以使用实现
列表
接口的其他类),并且在它下面,元素存储在一个数组中,因此访问速度不应该太慢

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


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

相关:最好将类与数据类型一起使用,这不是出于性能原因,而是为了清晰性和可维护性。顺便说一句,对象速度更快,占用的内存也少得多。是和否。我创建了
PerlArray
PerlHash
来做我喜欢用Perl数组和散列做的事情。如果我要使用Java数组,我几乎在
ArrayList
中管理它们。但是散列查找的速度不会接近基本上相当于结构的速度,在结构中,偏移量可以直接存储在字节码中。我并不总是用Java编程,但当我用Java编程时,我用对象来表示数据,用容器来表示关系和算法。