Java算法基础:数组元素的增加与删除
一、数组增加元素的思路:
1:创建一个新的数组,数组长度为原数组的长度加一。
2:将需要增加的元素值赋给数组的最后一个元素。
3:将新的数组赋给原来的数组
package test; import java.util.Arrays; public class TestArray { public static void main(String[] args) { //解决数组长度不可变的问题 int[] arr = new int[] {9,8,7}; System.out.println(Arrays.toString(arr)); //要加入数组的目标元素 int dst = 6; //创建一个新数组,长度是原来数组长度+1 int[] newarr = new int[arr.length+1]; //把原数组中的数据全部复制到新数组中 for (int i = 0; i < arr.length; i++) { newarr[i] = arr[i]; } //把目标元素加入新数组的最后 newarr[arr.length] = dst; //新数组替换原数组 arr = newarr; System.out.println(Arrays.toString(arr)); } }
二:数组元素删除的思路:
1:创建一个新数组,数组长度为原来数组的长度减一
2:定义需要删除的元素下标
3:将删除下标之前的元素赋给新数组的下标值,删除下标之后的元素赋给新数组下标值-1
package test; import java.util.Arrays; public class TestOpArray { public static void main(String[] args) { //解决数组删除元素的问题 //目标数组 int[] arr = new int[] {9,8,7,6,5,4}; System.out.println(Arrays.toString(arr)); //要删除元素的下标 int dst=3; //创建一个新的数组,长度是原数组-1 int[] newarr = new int[arr.length-1]; //复制原数组中除了要删除的那个元素以外的其他元素 for (int i = 0; i < newarr.length; i++) { //要删除之前的元素 if(i<dst) { newarr[i] = arr[i]; //要删除之后的元素 }else { newarr[i]=arr[i+1]; } } //新数组替换旧数组 arr = newarr; System.out.println(Arrays.toString(arr)); } }