System.arraycopy(src, srcPos, dest, destPos, length);
src:要被复制的数组
srcPos:被复制的数组的开始位置
dest:要复制的数组
destPos要:复制的数组的开始位置
length:复制的长度
package com.array;
public class TestArrayCopy {
public static void main(String[] args) {
String[] str={"1","2","3","4","5","6","7"};
String[] str2={"8","9","10"};
removeElement(str,1);
System.out.println("removeElement方法####################");
extendRange(str);
System.out.println("extendRange方法#######################");
addElement(str,1,str2);
}
//删除元素
public static String[] removeElement(String[] s,int index){
System.arraycopy(s,index+1,s,index,s.length-index-1);
s[s.length-1]=null;
for(int i=0;i<s.length;i++){
System.out.println(i+"---"+s[i]);
}
return s;
}
//拓展数组长度
public static String[] extendRange(String[] s1){
String[] s2=new String[s1.length+20];
System.arraycopy(s1, 0, s2, 0, s1.length);
for(int i=0;i<s2.length;i++){
System.out.println(i+"---"+s2[i]);
}
return s2;
}
//在数组指定位置插入数组或元素
public static String[] addElement(String[] s1,int index,String[] s2){
String[] s3=new String[s1.length+s2.length];
System.arraycopy(s1, 0, s3, 0, s1.length);
String[] s4=new String[s3.length];
System.arraycopy(s3,index, s4, 0, s3.length-s2.length-index);
for(int i=0;i<s3.length-s2.length-index;i++){
s3[index+i+3]=s4[i];
}
System.arraycopy(s2, 0, s3, index, s2.length);
//s3[6]="9";
//for(int i=0;i<s4.length;i++){
// System.out.println(i+"---"+s4[i]);
// }
//System.out.println("#################");
for(int i=0;i<s3.length;i++){
System.out.println(i+"---"+s3[i]);
}
return s3;
}
}
网友评论