开发工具与关键技术:java、 elipse2019、jdk1.8
作者:Amewin
撰写时间:2019年4月16日
Arraycopy方法说明:
System类里也包含了一个static void arraycopy(object src,int srcpos,object dest, int destpos,int length)方法,
该方法可以将src数组里的元素值赋给dest数组的元素,
其中srcpos指定从src数组的第几个元素开始赋值,
length参数指定将src数组的多少个元素赋给dest数组的元素。
附赠API说明:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
src 要复制数组
srcPos 从第几个开始复制 注:长度-1
dest 目标数组
destPos 目标数组的索引位置
length 复制目标数组的长度
实例代码
package xyz.iofileinputstream;
import java.util.Arrays;
public class CopyArrayTest {
int [] arrayTest = {133,654,987} ;
//调用方法
public static void StringName() {
String [] name = {"aa","bb","cc","dd","ee"};
//"aa","bb","cc","dd","ee"
//0 1 2 3 4
DeleteArray(name,3);//删除数组的第三个
//MidifyArray(name,3,"陈独秀");//修改数组方法
String [] namer =inserArray(name,3,"kk");//修改数组方法
//查看数组结构
for (int i = 0; i < namer.length; i++) {
System.out.println(namer[i]);
}
}
//插入数组方法
public static String [] inserArray(String [] name , int index ,String inArray ) {
String [] insertArrayVal =new String [] {inArray};//创建字符串数组
String [] PublicArray = new String [name.length+1];//中转数组
System.arraycopy(name, 0,PublicArray,0,name.length);//把需要的数组转入新的数组
System.arraycopy(PublicArray , index-1,PublicArray,index,PublicArray.length-index);//重新进行插入
System.arraycopy(insertArrayVal , 0 ,PublicArray,index-1,1);//插入新数组中
return PublicArray;
}
//修改数组方法
public static String [] MidifyArray(String [] name ,int index , String MDname) {
String [] arrayShuzu=new String [] {MDname };
System.arraycopy(arrayShuzu,0,name,index-1,1);
return name;
}
//删除数组方法 原理: 替换原来数为空
public static String [] DeleteArray(String [] name ,int index ) {
System.arraycopy(name,index-1,name,index-1,1);
name[index-1]=null;
return name;
}
//原理
public static void main(String[] args) {
CopyArrayTest copyArrayTest =new CopyArrayTest();
System.out.println(Arrays.toString(copyArrayTest.arrayTest));//Arrays.toString 显示数组内的值;
StringName();
}
}
演示效果
运行MidifyArray 修改方法
运行方法修改:
运行DeleteArray删除方法:
运行方法删除: