package com.bjpowernode.test;
import java.util.Arrays;
/**
* ClassName:Test
* PackageName:com.bjpowernode.test
* Description:在数组指定位置插入元素
*
* @date:2020/6/20 17:01
* @author:robin
*/
public class Test {
public static void main(String[]args){
int[]data={12,23,45,48,50};
//需求:在索引值为2的地方插入一个数:666,敏捷开发就是先定义一个方法。逆向写代码
//期望最终返回: int[]data={12,23,666,45,48,50};
int[] newArray = insert(data, 2, 666);
//"C:\Program Files\Java\jdk1.8.0_101\bin\java.exe" "-javaagent:D:\IntelijIdeaInstalled\IntelliJ IDEA 2019.3.1\lib\idea_rt.jar=9043:D:\IntelijIdeaInstalled\IntelliJ IDEA 2019.3.1\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_101\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_101\jre\lib\rt.jar;D:\test\target\classes" com.bjpowernode.test.Test
//最终返回结果====》[12, 23, 666, 45, 48, 50]
System.out.println( "最终返回结果====》"+Arrays.toString(newArray));
}
// i表示数组索引,int表示插入的数 data表示原数组
private static int[] insert(int[] data, int i, int key) {
//数组扩容,第一步:定义一个更大的数组
int[] data2=new int[data.length+1];
//第二步:把数组中【0,i)范围的元素复制到data2对应的位置
for (int j = 0; j < i; j++) {
data2[j]= data[j];
}
//第三步:把key元素保存到 data2[i]的位置
data2[i]=key;
//第四步:把数组data中(i,data.length)范围的元素复制到data2数组从 i+1对应的位置。
for (int k = i; k <data.length ; k++) {
data2[k+1]=data[k];
}
return data2;
}
}
java基础回顾之在数组指定位置插入元素
最新推荐文章于 2024-05-30 11:10:23 发布