Java切片多维数组库
是否有支持切片的Java数组库?我只需要普通的nxn'xn'x数组,从给定维度或整个维度中获取一个切片(即不需要范围)
备注(阅读对潜在评论的回复):
- 我知道常规Java数组不支持它,我也不愿意编写自己的切片库李>
- 使用
Collection
(在对other question的评论中建议)可以转移问题 - 在高维中使用System.arraycopy没有帮助,因为它不会显著降低循环的嵌套
- 这是一个(有点长的故事)数值问题,所以内部代码的OO方法不是必需的——最好的方法——最有用的抽象归结为切片
- 我更喜欢从切片的R/W视图(如果只是R/O拷贝,我不会抱怨)
编辑:不幸的是,我需要在数组中存储对象,而不仅仅是double
# 1 楼答案
Vectorz是一个支持切片的向量/矩阵库,如果您使用
double
值数组进行数值计算,它是一个不错的选择。它专门为3D建模、获取、模拟或机器学习环境中的向量/矩阵数学而设计优点:
double
和double[]
数组支持)O(1)
操作(即无需数据复制)它目前支持0维、1维和2维数组,计划使用更高维数组,但尚未实施