数组的增删改查,模拟ArrayList的底层实现

mac2024-08-14  56

//自定义容器类,实现数组的增删改查 public class MyContainer{ private String[] arr; private int size; //数组长度 //初始容量为0 public MyContainer() { arr=new String[0]; } //增加 public void add(String s) { String[] temp=arr; arr=new String[size+1]; for(int i=0;i<size;i++) { arr[i]=temp[i]; } arr[size]=s; size++; } //删除 public void remove(int index) { String[] temp=arr; arr=new String[size-1]; for(int i=0;i<size;i++) { if(i<index) { arr[i]=temp[i]; } if(i>index) { arr[i-1]=temp[i]; } } size--; } //替换 public void replace(int index,String s) { arr[index]=s; } //获取下标对应字符串 public String get(int index) { if(index<0 || index>=size) { return "数组下标越界"; } return arr[index]; } //获取数组长度 public int size() { return this.size; } //重写toString public String toString() { return "MyContainer [arr=" + Arrays.toString(arr) + ", size=" + size + "]"; } } //测试类 public class Test { public static void main(String[] args) { MyContainer mc=new MyContainer(); mc.add("圣诞节快乐"); mc.add("开发副科级"); mc.add("烦尽快回复"); mc.add("分内事"); System.out.println(mc); System.out.println(mc.get(1)); System.out.println(mc.size()); mc.remove(2); System.out.println(mc); mc.replace(1, "发货速度快回复"); System.out.println(mc); } }

最新回复(0)