java矩阵/向量库中的最佳实践

sea*_*ste 7 java coding-style vector

我必须为我正在研究的小型几何相关项目编写一个简单的矢量/矩阵库.这就是我想知道的.

当在java环境中对向量进行数学运算时,更好的做法是返回向量的新实例或修改原始状态.

我来回看过它,只想获得多数投入.

某些人说矢量应该是不可变的,静态方法应该用于创建新的,其他人说它们应该是可变的,并且应该使用常规方法来修改它们的状态.我已经看到它在某些情况下,对象是不可变的,并且调用普通方法,它从对象返回一个新的向量而不改变状态 - 这对我来说似乎有点不对.

我想知道是否有任何最佳实践 - 我想它已经完成了一百万次,我真的只是想知道是否有一种标准的方法来做到这一点.

我注意到apache commons数学库每次都从原来返回一个新的向量.

Mis*_*ble 5

性能有多重要?向量算法是否会成为一个大组件,从而影响整个系统的性能?

如果不是并且会有很多并发性,那么不可变向量将是有用的,因为它们减少了并发性问题.

如果向量中存在大量突变,则不可变向量将需要的新对象的开销将变得显着,并且可能更好地具有可变向量并且难以进行并发.