Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java双数组是否比对象实例快_Java - Fatal编程技术网

Java双数组是否比对象实例快

Java双数组是否比对象实例快,java,Java,这样做是否更有效率: double[] a = new double[5]; for (int i = 0; i < a.length; i++) { a[i] = i; } 是否有任何额外的效率会极大地影响使用double[]数组的java应用程序的性能?或者这种差别可以忽略不计?是的,像double[]这样的基本标量类型在大多数情况下会更快。在许多情况下,速度要快得多。然而,在大多数应用程序中,您不太可能注意到任何类型的差异 其他人做了相关的基准测试 但是,请始终记住: 跟我

这样做是否更有效率:

double[] a = new double[5];
for (int i = 0; i < a.length; i++) {
    a[i] = i;
}

是否有任何额外的效率会极大地影响使用double[]数组的java应用程序的性能?或者这种差别可以忽略不计?

是的,像double[]这样的基本标量类型在大多数情况下会更快。在许多情况下,速度要快得多。然而,在大多数应用程序中,您不太可能注意到任何类型的差异

其他人做了相关的基准测试

但是,请始终记住:


跟我重复一遍:过早优化是万恶之源。做有意义的事情。你也可以尝试数组。asList1,2,3,4,5可伸缩性?我们不需要糟糕的可扩展性!新的数据存储4、3、2、1、0如何;所以你可以使用自然重力的递减数,这5个值代表的是相同的吗,所以你想循环并处理它们吗?如果是这样,选项1是正确的,选项2是错误的,因为如果不使用慢反射,就无法循环通过它们。这5个值是否不同,因此单独命名它们会使代码更可读/更容易理解?那么选项1是错误的,选项2是正确的。正如您所看到的,选择与性能无关,而是与您的代码有关。
public class DataStore {
    public double a, b, c, d, e;

    public DataStore(double a, double b, double c, double d, double e) {
        this.a = a;
        this.b = b;
        this.c = c;
        this.d = d;
        this.e = e;
    }
}
...
new DataStore(0, 1, 2, 3, 4);