- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个Java项目,它使用一个自定义对象-smallObject,它主要由双变量组成。
现在,随着项目的发展,我要求smallObject中的每个变量都成为一个包含4个元素的数组 - 所以原来的double变量变成了一个包含4个元素的double类型数组 - bigObject。
使用bigObject的过程与smallObject完全相同,唯一的区别是它们包含元素编号,因此smallObject.a = 4,变为bigObject.a[2] = 4;
我期望,由于每次访问数组时,我都准确定义了我需要的元素(不必搜索它),性能应该大致相同,但是,性能降低了一个因素2-3 个。这些对象用于数组列表和队列,最多可容纳 300 万个元素。
性能下降是否是意料之中的事情?我该如何解决这个问题?正在考虑使用单独的变量(a[4],变成a1,a2,a3,a4) - 但这需要我有不同的类,以便每个类访问正确的变量并使代码不可读。
感谢您的宝贵时间。
最佳答案
据我所知,如果你使用基于列表的对象来查找位置 4 中的元素,你必须从 1 到 4,因为列表基于指针 (O(n),其中 n 是元素的数量如果您习惯使用大 O 表示法,则为数组)。如果你使用更简单的元素,比如真正的双数组,访问元素 4 应该在 1 次操作 O(1) 中完成...所以尝试使用 double[]。
希望这对您有帮助。
亚历克斯
关于java - 数组性能以及如何获得自变量的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47388128/
我有一个名为copyToClipboard()的函数。这需要一个名为 element 的参数。该函数通过定位元素的 id、选择并复制内容来复制元素的内容。 例如: JS /* * Copy to c
我正在研究 Java,想知道以下各项在性能方面有何不同。我知道过早优化是编程的困境,但我的好奇心仅供将来引用。 public class Type1{ int[] data = new da
我正在使用此代码从 csv 文件中获取数组: array_map('str_getcsv', 'file.csv') 但是在 array_map 函数中使用它时,如何为 str_getcsv() 设置
我是一名优秀的程序员,十分优秀!