经过一番阅读,我发现在Java中复制数组的方法有所不同。对于我的应用程序,我有一个包含2D棋盘数组(8x8)的递归节点树。
通过分析测试,我找到了最好的方法是使用java.util.Arrays.copyOf(array)方法,该方法使用本地的System.arraycopy。
即使如此,我仍然花费了80%的时间来创建新的数组。如果有人有任何加速这个过程的想法,我会非常感激。也许使用64项数组而不是8x8会更快。我很快就会测试这个想法。
通过分析测试,我找到了最好的方法是使用java.util.Arrays.copyOf(array)方法,该方法使用本地的System.arraycopy。
即使如此,我仍然花费了80%的时间来创建新的数组。如果有人有任何加速这个过程的想法,我会非常感激。也许使用64项数组而不是8x8会更快。我很快就会测试这个想法。
System.arraycopy
,你已经使用过了,现在只剩下很少的选择,其中之一是通过删除空或空元素来缩小数组,你可以使用SparseMatrix
类型的数据结构。 - Amit Deshpande