Java arraycopy数组拷贝

Java arraycopy数组拷贝

开发工具与关键技术: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删除方法:
运行方法删除:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值