牛骨文教育服务平台(让学习变的简单)
博文笔记

Java代码实现数组中插入数据

创建时间:2017-04-13 投稿人: 浏览次数:130

public class ListInsert {
	public static long[] insert(long[] arr,int i,long l){
		//新建数组,对原数组扩容
		long[] arr1 = new long[arr.length+1];
		//将原数组数据赋值给新数组
		for(int j = 0;j<arr.length;j++){
			arr1[j] = arr[j];
		}
		//将大于i的数据向后移动一位
		for(int j = arr1.length-2;j>i;j--){
			arr1[j+1] = arr1[j];
		}
		//赋值到i位置
		arr1[i+1] = l;
		return arr1;
	}
	//测试
	public static void main(String[] args){
		long[] arr = {12,25,11,36,14};
		long[] arr1 = insert(arr, 2, 100);
		for (long l : arr1) {
			System.out.print(l+" ");
		}
	}

数组的扩容方式:arr = Arrays.copyOf(arr, arr.length+1);

有兴趣的朋友可以修改数组的扩容方式,对上述代码进行优化,其实该方法底层的实现也是新建一个数组,万变不离其宗。

各位有更好的实现方法,可以分享给我哦,希望来场头脑风暴吧!

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。