gpt4 book ai didi

java - 数组性能以及如何获得自变量的性能

转载 作者:行者123 更新时间:2023-12-01 06:04:41 25 4
gpt4 key购买 nike

我正在编写一个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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com