java - Java中推荐使用ArrayList和HashMap?

标签 java performance perl arraylist

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

与此类似,我开始使用 HashMap 和数组列表,因为它们使编程工作变得更容易和更快。但性能如何呢?是否建议在较大的项目中使用这些类型的数据,或者我应该只将自己限制在带有字符串和数组的 Java 核心?

感谢您的所有回答:-)))

最佳答案

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

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

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

关于java - Java中推荐使用ArrayList和HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759178/

相关文章:

java - 如何从外部类下的其他子类调用子类

java - RDF 与其他数据集互连

objective-c - 小于 256 RAM iOS 设备的应用程序在启动时崩溃

python - 在 Python 中的 re.sub 中获取组匹配

java - Ubuntu 终端中的 Gradle 从版本 6 降级到版本 5

java - 如何识别线程的启动者

php - 从 php 中的数组构建 "crosstab"或 "pivot"表

java - 如何加快java.net.ServerSocket和java.net.Socket效率?

perl - "lock"在 Perl 中究竟做了什么?

mysql - 我如何知道 Perl DBI 查询返回多少行?