Concatenating Java Arrays in a Loop
本问题已经有最佳答案,请猛点这里访问。
我正在为信号软件编写代码。逻辑摘要如下:用户输入--->string->split at white spaces->arrayPerword->signalarrayPerrayPerword。输出为循环。到目前为止,我的代码运行良好。只有剩下的部分是如何按顺序连接这个循环输出。我正在搜索将这些数组(如字符串连接)连接为:
1 | str=str+str1; |
类似:
1 | SignalArrayPerArrayPerWord=SignalArrayPerArrayPerWord + SignalArrayPerArrayPerWord1; |
换言之:
1 | array=array+array1; |
最后一步我需要帮助。
您可以将
1 2 3 4 5 6 7 8 9 |
您可以使用list addall方法..
1 2 3 4 5 6 7 8 | List<String> signalArrayPerArrayPerWord = new ArrayList<String>(); List<String> signalArrayPerArrayPerWord1 = new ArrayList<String>(); List<String> concatArray = new ArrayList<String>(); //concat concatArray.addAll(signalArrayPerArrayPerWord); concatArray.addAll(signalArrayPerArrayPerWord1); |
希望有所帮助
下面将连接相同类型的数组:
1 |
类似于这样:
1 | ArrayUtils.addAll(["a","b","c"], ["1","2","3"]) = ["a","b","c","1","2","3"] |
更多详细信息:文档链接
有多种方式有效地连接Java阵列,也可以检查这个堆栈溢出的帖子来找到最好的例子:
StackOverflow柱链接
1 | ArrayUtils.addAll(array1, array2, ...) |
您可以从下面的字节数组concatation示例中得到启发。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | public static byte[] concatByteArrays(byte[]... arrays) { // Determine the length of the result array int totalLength = 0; for (int i = 0; i < arrays.length; i++) { totalLength += arrays[i].length; } // create the result array byte[] result = new byte[totalLength]; // copy the source arrays into the result array int currentIndex = 0; for (int i = 0; i < arrays.length; i++) { System.arraycopy(arrays[i], 0, result, currentIndex, arrays[i].length); currentIndex += arrays[i].length; } return result; } |
使用StringBuilder sb=new StringBuilder();
在循环中使用sb.append("loop element at index");