在循环中连接Java数组

时间:2014-05-26 05:15:16

标签: java arrays loops concatenation

我正在编写信号软件的代码。逻辑摘要如下:用户输入 - >串 - >在白色空间分裂 - > ArrayPerWord - > SignalArrayPerArrayPerWord。输出是循环的。到目前为止,我的代码运行良好。只剩下剩下的部分是如何在序列中连接这个循环输出。我正在寻找将这些数组连接起来,比如字符串连接:

str=str+str1;

类似的东西:

SignalArrayPerArrayPerWord=SignalArrayPerArrayPerWord   + SignalArrayPerArrayPerWord1;
换句话说,

array=array+array1;

我在最后一步需要帮助。

6 个答案:

答案 0 :(得分:2)

您可以将addAll方法与List<Integer>一起使用。请看下面的例子。

Integer[] arr={1,2,3};
Integer[] arr2={4,5,9};

List<Integer> res=new ArrayList<>();

res.addAll(Arrays.asList(arr));
res.addAll(Arrays.asList(arr2));

System.out.println(res);

答案 1 :(得分:1)

您可以从以下字节数组结合示例中获得灵感。

   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;
   }

答案 2 :(得分:1)

ArrayUtils.addAll(array1, array2, ...)

答案 3 :(得分:1)

以下将连接相同类型的数组:

String[] both = ArrayUtils.addAll(first, second);

它类似于这样的东西:

ArrayUtils.addAll(["a", "b", "c"], ["1", "2", "3"]) = ["a", "b", "c", "1", "2", "3"]

更多详情:doc link

有多种方法可以有效地连接java数组,请查看此stackoverflow文章以找到最佳示例:

stackoverflow post link

答案 4 :(得分:1)

您可以使用List addAll Method ..

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);

希望有所帮助

答案 5 :(得分:0)

使用StringBuilder sb = new StringBuilder();

并在循环中使用sb.append(“index element at index”);