在循环中连接 Java 数组 [重复]
Posted
技术标签:
【中文标题】在循环中连接 Java 数组 [重复]【英文标题】:Concatenating Java Arrays in a Loop [duplicate] 【发布时间】:2014-07-14 19:33:06 【问题描述】:我正在为 Signals Software 编写代码。逻辑总结如下:用户输入-->字符串-->空格分割-->ArrayPerWord-->SignalArrayPerArrayPerWord。输出是循环的。到目前为止,我的代码运行良好。只剩下剩下的部分是如何按顺序加入这个循环输出。我正在寻找将这些数组连接起来,如字符串连接:
str=str+str1;
类似:
SignalArrayPerArrayPerWord=SignalArrayPerArrayPerWord + SignalArrayPerArrayPerWord1;
换句话说:
array=array+array1;
在这最后一步我需要帮助。
【问题讨论】:
【参考方案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】:ArrayUtils.addAll(array1, array2, ...)
【讨论】:
【参考方案3】:以下将连接相同类型的数组:
String[] both = ArrayUtils.addAll(first, second);
类似这样的:
ArrayUtils.addAll(["a", "b", "c"], ["1", "2", "3"]) = ["a", "b", "c", "1", "2", "3"]
更多详情:doc link
有多种方法可以有效地连接 java 数组,请查看此 *** 帖子以找到最佳示例:
*** post link
【讨论】:
我可以得到结果为 :"a", "b", "c", "1", "2", "3" 还是我必须手动得到它? 如果你将结果存储在一个数组中并打印出来,那么你就会得到你想要的。【参考方案4】:您可以将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);
【讨论】:
【参考方案5】:你可以使用 List addAll 方法..
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);
希望有帮助
【讨论】:
【参考方案6】:使用 StringBuilder sb = new StringBuilder();
在循环中使用 sb.append("loop element at index");
【讨论】:
以上是关于在循环中连接 Java 数组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章