我有一个设计选择:我是创建一个包装器对象数组,每个对象包含几个不同的值,还是创建一个包含几个不同值数组的对象?
选项 1:
Node[][] nodes;
class Node{
double val1;
double val2;
}
选项 2:
Node[] nodes;
class Node{
double[] val1;
double[] val2;
}
我的直觉告诉我,选项 2 会更有效,只是因为对象更少,因此开销更少,但是 double[] 会不会同样昂贵?
最佳答案
你知道这里会有一个重大问题吗?您要创建多少个?
开始时您不必太担心性能 - 问问自己,单个节点逻辑上是否具有多对值或只有一对值。让您的类遵循您正在建模的内容 - 密切关注性能和内存使用情况,但不要让它支配您的设计以排除自然模型。
关于java - 对象数组还是带数组的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7031652/