方法一:利用arrayCopy方式连接拼接2个数组
public class java_23 {
public static void main(String[] args) {
int[] arr1 = {1,2,5};
int[] arr2 = {3,4,6};
// 获取两个数组的长度
int alen = arr1.length;
int blen = arr2.length;
int sum = alen+blen;
int[] newarr = new int[sum];
// 利用arrayCopy实现数组间的复制
// 从arr1数组的0位置开始复制到新数组中,起始位置也是0 ,拷贝长度是arr1的长度
System.arraycopy(arr1,0,newarr,0,alen);
// 从arr1数组的0位置开始复制到新数组中,起始位置是arr1的长度 ,拷贝长度是arr2的长度
System.arraycopy(arr2,0,newarr,alen,blen);
System.out.println(Arrays.toString(newarr));
}
}
方法二:for循环实现
import java.util.Arrays;
public class java_23 {
public static void main(String[] args) {
int[] arr1 = {1,2,5};
int[] arr2 = {3,4,6};
// int[] result = array_Copy(arr1,arr2);
int[] result = array_for(arr1,arr2);
System.out.println(Arrays.toString(result));
}
// for循环实现
public static int[] array_for(int[] array1,int[] array2){
// 获取两个数组的长度
int alen = array1.length;
int blen = array2.length;
int sum = alen+blen;
// 初始化数组
int[] newarr = new int[sum];
int index = 0;
// for循环的第二种方式 for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体
for (int item:array1){
newarr[index] = item;
index++;
}
for (int item:array2){
newarr[index] = item;
index++;
}
return newarr;
}
}
方法三:利用copyOf扩容数组长度
import java.util.Arrays;
public class java_23 {
public static void main(String[] args) {
int[] arr1 = {1,2,5};
int[] arr2 = {3,4,6};
// int[] result = array_Copy(arr1,arr2);
// int[] result = array_for(arr1,arr2);
int[] result = array_copyOf(arr1,arr2);
System.out.println(Arrays.toString(result));
}
// 利用数组的copyOf实现
public static int[] array_copyOf(int[] array1,int[] array2){
int alen = array1.length;
int blen = array2.length;
// 用copyOf对array1进行扩容
array1 = Arrays.copyOf(array1,alen+blen);
// 将array2放入array1中
// 利用arraycopy传入五个参数,目标数组、起始位置以及原数组、起始位置、拷贝的长度
System.arraycopy(array2,0,array1,alen,blen);
return array1;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/149710.html