数组的拷贝
使用方法为JDK自带方法
public static native void arraycopy(Object src a, int srcPos, Object dest b, int destPos,int length);
数组的(本质数组的复制)删除其实也是利用数组的拷贝,只不过是将数组自己拷给自己
重点:注意数组拷贝过程中的起始位置
封装成函数
//删除数组中指定索引的元素,并且将原数组返回 index为指定索引 指定索引从0开始
public static int[] deleteArryIndex(int a[],int index) {
System.arraycopy(a, index+1, a, index , a.length - index-1);//从数组a[3]开始拷贝将a[3]放在a[2]位置
a[a.length - 1] = 0;//删除后数组最后一位设置为零
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
return a;
}
实例
public class shuzu {
public static void main(String[]args){
int b[]={1,2,3,4,5,6,7,8};
deleteArryIndex(b,1);
}
//删除数组中指定索引的元素,并且将原数组返回 index为指定索引 指定索引从0开始
public static int[] deleteArryIndex(int a[],int index) {
System.arraycopy(a, index+1, a, index , a.length - index-1);//从数组a[3]开始拷贝将a[3]放在a[2]位置
a[a.length - 1] = 0;//删除后数组最后一位设置为零
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
return a;
}
}
数组的扩容(本质数组的复制)`
public static String[] arryInsertdata(String a[],int e){//e为扩容多少
String b[] = new String[a.length+e];
System.arraycopy(a,0,b,0,a.length);
for(String i : b){ //使用增强for循环遍历数组b中所有元素并且打印
System.out.println(i);//注意此处打印数组写法并不是println(a[i])写法
}
return b;
}