convert multi array into single array(java)
是否可以将数据从multi[][]复制到single[]????
1 | double multi[][] = { {1.0, 2.0}, {2.11, 204.00, 11.00, 34.00},{66.5,43.3,189.6}}; |
到
1 | double single [] = {1.0, 2.0, 2.11, 204.00, 11.0, 66.5,43.3,189.6} |
号
用Java 8可以编写:
1 2 3 |
这是完全可能的。每一个AssiLaas的答案,Java 8有一个非常好的解决方案。如果你不使用Java 8,你必须手工做一些工作。由于
1 2 3 4 5 6 7 8 9 10 | int n = 0; for (int[] elt : multi) { n += elt.length; } double[] single = new double[n]; n = 0; for (int[] elt : multi) { System.arraycopy(elt, 0, single, n, elt.length); n += elt.length; } |
如果
如果你想要一个合乎逻辑的方法..首先你必须找到多个数组内容的长度,然后用这个长度创建一个[]并添加值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | double multy[][] = { {1.0, 2.0}, {2.11, 204.00, 11.00, 34.00},{66.5,43.3,189.6}}; int y=0; for(int x=0;x<multy.length,x++){ for(int i=0;i<multy[x].length,i++){ y++; } } double single [] =new double[y]; y=0; for(int x=0;x<multy.length,x++){ for(int i=0;i<multy[x].length,i++){ y++; single[y]==multy[x][i]; } } |
号
根据:https://stackoverflow.com/questions/20686499/java-how-to-convert-a-multimedianal-array-to-single-array-easyly
arrayutils.addall(array1,array2)