import java.util.Arrays;
public class Arrayhandle {
//定义一个长度为0的数组
int[] arr = new int[0];
public static void main(String[] args) {
Arrayhandle a = new Arrayhandle();
a.show();
a.add(13);
a.add(50);
a.add(25);
a.show();
a.insert(1, 100);
a.show();
a.delete(1);
a.show();
}
增加元素
public void add(int element){
//创建一个新数组,长度是原数组长度加一,往里面加元素,再将这个新数组赋给原数组
int[] newarr = new int[arr.length+1];
//把原数组赋给新数组
for(int i=0;i<arr.length;i++){
newarr[i] = arr[i];
}
//将传进来的元素赋给数组最后一个元素,加在数组最后
newarr[arr.length] = element;
arr=newarr;
}
展示数组元素
public void show(){
System.out.println(Arrays.toString(arr));
}
往指定位置添加元素
public void insert(int index,int element){
int[] newarr = new int[arr.length+1];
if(index<0||index>=arr.length){
System.out.println("下标越界");
}
//小于下标的先赋给新数组
for(int i=0;i<arr.length;i++){
if(i<index){
newarr[i] = arr[i];
}else{
//当循环到插入下标时,新数组需要将下标位置空出来,所以往后移一位
newarr[i+1] = arr[i];
}
}
//将元素赋给下表位置
newarr[index] = element;
arr = newarr;
}
删除指定位置元素
public void delete(int index){
int[] newarr = new int[arr.length-1];
if(index<0||index>=arr.length){
throw new RuntimeException("下标越界");
}
for(int i=0;i<newarr.length;i++){
if(i<index){
newarr[i] = arr[i];
}else{
//要删除一位,所以当循环到指定下标位置时,跳过这个元素从下一个元素开始循环
newarr[i] = arr[i+1];
}
}
arr = newarr;
}
}