删除数组指定下标数据
public static void main(String[] args) {
//定义一个数组,数组定义后长度不能变
String[] array=new String[]{"a","b","h","d","g"};
//新建一个数组用来赋值,因为是删除一个,所以长度减一
String[] array1=new String[array.length-1];
//指定下标2
int key=2;
//遍历原数组,因为要删除一个所以条件-1
for (int i = 0; i < array.length-1; i++) {
//如果小于指定下标,把原数组数据赋值给新数组
if(i<key){
array1[i]=array[i];
}
//如果大于或等于指定下标,把旧数组的数据往前移一位赋值到新数组
if(i>=key){
array1[i]=array[i+1];
}
}
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(array1));
}
在数组指定位置插入数据
public static void main(String[] args) {
//定义一个数组,数组定义后长度不能变
String[] array={"a","b","h","d","g"};
//新建一个数组用来赋值,因为是插入一个,所以长度加一
String[] array1=new String[array.length+1];
//插入的值
String value="test";
//指定下标3
int key=3;
//遍历原数组,因为要删除一个所以条件-1
for (int i = 0; i < array.length+1; i++) {
//如果小于指定下标,把原数组数据赋值给新数组
if(i<key){
array1[i]=array[i];
}
//如果等于指定下标,把插入的值赋值到该下标
if(i==key){
array1[i]=value;
}
//如果大于指定下标,把旧数组的数据往后移一位赋值到新数组
if(i>key){
array1[i]= array[i-1];
}
}
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(array1));
}