在“Core java 1”中我读过
注意: ArrayList 的效率远低于 int[] 数组,因为每个值都单独包装在一个对象中。当程序员的便利性比效率更重要时,您只会希望将此构造用于小型集合。
但是在我的软件中,由于某些要求,我已经使用了 Arraylist 而不是普通数组,尽管“该软件应该具有高性能,在我阅读了引用的文字后,我开始感到恐慌!” 我可以更改的一件事是将 double 变量更改为 Double 以防止自动装箱,我不知道这是否值得,在下一个示例算法中
public void multiply(final double val)
{
final int rows = getSize1();
final int cols = getSize2();
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
this.get(i).set(j, this.get(i).get(j) * val);
}
}
}
我的问题是将 double 更改为 Double 有什么不同吗?或者那是一个不会影响任何东西的微优化?请记住,我可能正在使用大型矩阵。第二我是否应该考虑重新设计整个程序?