当前位置: 首页 > 面试题库 >

HashMap vs ArrayList性能是否正确

百里文景
2023-03-14
问题内容

我目前认为:

  • 当您需要一种可以从中随机检索项目的结构时,请使用 HashMap
  • 当您要按顺序检索项目时(例如,使用for循环)-请使用 ArrayList

我通常是正确的吗?是否存在不正确的情况?


问题答案:

通常,是的,您是正确的。还有一个组合的数据结构LinkedHashMap,它提供对任意元素的快速访问以及可预测的顺序。

但是,值得注意的是,ArrayList和HashMap分别只是List和Map接口的两个实现。每种方法都有其他实现可能更适合更具体的要求。例如,对于某些排队/出队要求,LinkedList可能比ArrayList提供更高的性能。



 类似资料:
  • 问题内容: 在我的一个类中,我有许多方法都从相同的字典中提取值。但是,如果其中一个方法尝试访问不存在的值,则它必须调用另一个方法以使该值与该键关联。 我目前已按以下方式实现此功能,其中findCrackDepth(tonnage)为self.lowCrackDepth [tonnage]分配一个值。 但是,我也有可能这样做 我假设两者之间存在性能差异,这与值在字典中的频率有关。这个差异有多大?我正

  • 问题内容: Kotlin是否可以提高性能?有基准测试吗?Kotlin比Java快吗?我在Kotlin网站上找到了这个。https://kotlinlang.org/docs/reference/comparison- to-java.html 谈论语言功能而不是性能。 问题答案: Kotlin生成的字节码与Java非常相似,因此Kotlin代码的性能在大多数情况下与等效Java代码的性能相同。 内

  • 问题内容: Internet Explorer 9 在什么情况下定义? 即使被定义,并且是不确定的。为什么是这样? 有关IE8的相关问题:IE8中console.log发生了什么? 问题答案: 在Internet Explorer9(和8)中,仅在为特定选项卡打开开发人员工具时才显示对象。如果隐藏该选项卡的开发人员工具窗口,则该对象在您浏览到的每个页面上均保持暴露状态。如果打开一个新选项卡,则还必

  • 问题内容: 如果是这样,为什么呢?我的意思是,tinyint的搜索比int更快吗? 如果是这样,那么实际的性能差异是什么? 问题答案: 是的,根据数据类型,确实会有所不同。 vs.不会在速度上产生明显的差异,但是会在数据大小上产生差异。假设是1个字节,而不是4个字节,则每行保存3个字节。一段时间后加起来。 现在,如果它反对,那么将会有些下降,因为整数值之类的排序操作比字符串值要快得多。 如果它是可

  • 我知道使用尽可能最小的数据类型的原则,但我想知道为什么这会适用于MySQL中的TEXT/MEDIUMTEXT/LONGTEXT?如果我使用LONGTEXT而不是MEDIUMTEXT,是否存在性能问题?我发现了这样一个问题:当每个条目都适合中等文本大小的字段时,使用MySQL longtext大小的字段的缺点是什么?但我认为这不是性能问题的答案? 这只是一个为LONGTEXT增加一点存储空间的问题吗

  • 问题内容: 在上周,我创建了两个班,我的团队对他们的表现表达了一些担忧。为了评估我的代码,我编写了一些简单的JUnit测试,它们通过构建丰富的测试数据集,然后通过相关方法将这些数据馈入数千次迭代来练习这些类。我记录了每次迭代的运行时间,然后使用循环和注销了高,低和平均时间。最终,我让JUnit断言,高频率和平均时间都在可接受的范围内。这种测试方法使我的团队对此代码充满信心。 JUnit是否是以这种