
正文
java合并数组的几种方法,stream流合并数组
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
一、实例代码package cc.ash;import org.apache.commons.lang3.ArrayUtils;import java.lang.reflect.Array;
import java.util.Arrays;public class ArrayConcat { public static void main(String[] args) { int[] a = {,,};
int[] b = {,,};
concatArray(a,b);
}
public static void concatArray(int [] a, int [] b) { //org.apache.commons.lang3.ArrayUtils中方法
int[] all = ArrayUtils.addAll(a, b); //通过Array的newInstance生成一个合并长度的数组,再通过System中的arraycopy()方法copy
Object newInstance = Array.newInstance(int.class, a.length + b.length);
System.arraycopy(a, , newInstance, , a.length);
System.arraycopy(b, , newInstance, a.length, b.length); //通过Arrays中copyOf方法将某一个作为基础,扩展所需要的长度
int[] copyOf = Arrays.copyOf(b, a.length + b.length);
//再通过System中的arraycopy()方法copy
System.arraycopy(a, , copyOf, b.length, a.length); }
}
二、方法总结
package cc.ash;import org.apache.commons.lang3.ArrayUtils;import java.lang.reflect.Array;
import java.util.Arrays;public class ArrayConcat { public static void main(String[] args) { int[] a = {,,};
int[] b = {,,};
concatArray(a,b);
}
public static void concatArray(int [] a, int [] b) { //org.apache.commons.lang3.ArrayUtils中方法
int[] all = ArrayUtils.addAll(a, b); //通过Array的newInstance生成一个合并长度的数组,再通过System中的arraycopy()方法copy
Object newInstance = Array.newInstance(int.class, a.length + b.length);
System.arraycopy(a, , newInstance, , a.length);
System.arraycopy(b, , newInstance, a.length, b.length); //通过Arrays中copyOf方法将某一个作为基础,扩展所需要的长度
int[] copyOf = Arrays.copyOf(b, a.length + b.length);
//再通过System中的arraycopy()方法copy
System.arraycopy(a, , copyOf, b.length, a.length); }
}
参考链接:
https://www.cnblogs.com/jpfss/p/9181443.html
https://www.jb51.net/article/160480.htm
三、stream合并数组 String [] a = {"a1", "a2"};
String [] b = {"b1", "b2", "b3"};
String[] strings = Stream.concat(Stream.of(a), Stream.of(b)).peek(System.out::println).toArray(String[]::new); //测试输出
String [] a = {"a1", "a2"};
String [] b = {"b1", "b2", "b3"};
String[] strings = Stream.concat(Stream.of(a), Stream.of(b)).peek(System.out::println).toArray(String[]::new); //测试输出





