java两个数组合并
时间: 2023-08-19 08:17:24 浏览: 59
在Java中,有多种方法可以合并两个数组。其中一种方法是使用Arrays.copyOf()方法和System.arraycopy()方法。首先,我们可以使用Arrays.copyOf()方法创建一个新的数组,长度为两个原始数组的长度之和。然后,使用System.arraycopy()方法将第二个数组的元素复制到新数组的后半部分。最后,返回合并后的数组。以下是一个示例代码:
```java
public static <T> T[] concat(T[] first, T[] second) {
T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
// 示例用法
String[] a = {"阿", "java", "so", "easy"};
String[] b = {"is", "very", "good"};
String[] c = concat(a, b);
```
这样,数组a和数组b就被成功合并成了数组c。
相关问题
Java两个数组合并
以下是Java中合并两个数组的三种方法:
1. 使用Java arraycopy()方法
```java
int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = new int[arr1.length + arr2.length];
System.arraycopy(arr1, 0, result, 0, arr1.length);
System.arraycopy(arr2, 0, result, arr1.length, arr2.length);
System.out.println(Arrays.toString(result)); // 输出:[1, 2, 3, 4, 5, 6]
```
2. 不使用arraycopy()方法,使用循环遍历
```java
int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] result = new int[arr1.length + arr2.length];
int pos = 0;
for (int element : arr1) {
result[pos] = element;
pos++;
}
for (int element : arr2) {
result[pos] = element;
pos++;
}
System.out.println(Arrays.toString(result)); // 输出:[1, 2, 3, 4, 5, 6]
```
3. 使用Java Stream API
```java
int[] arr1 = {1,2, 3};
int[] arr2 = {4, 5, 6};
int[] result = IntStream.concat(Arrays.stream(arr1), Arrays.stream(arr2)).toArray();
System.out.println(Arrays.toString(result)); // 输出:[1, 2, 3, 4, 5, 6]
```
Java两个数组合并成一个
可以使用`System.arraycopy`或者`Arrays.copyOf`方法来合并两个数组。
示例代码如下:
```java
int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] arr3 = new int[arr1.length + arr2.length];
// 使用 System.arraycopy 方法合并数组
System.arraycopy(arr1, 0, arr3, 0, arr1.length);
System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);
// 使用 Arrays.copyOf 方法合并数组
// int[] arr3 = Arrays.copyOf(arr1, arr1.length + arr2.length);
// System.arraycopy(arr2, 0, arr3, arr1.length, arr2.length);
// 输出合并后的数组
System.out.println(Arrays.toString(arr3));
```
输出结果为:`[1, 2, 3, 4, 5, 6]`