数组的末尾添加、替换、删除、任意位置插入、获取
数组类
import java.util.Arrays;
/**
* @author 23105
* @version 1.0
* @description: TODO
* @date 1/4/2023 下午6:21
*/
public class ArrayCollection {
// 用于存储数组的数据
private int[] arr;
// 声明一个构造器
public ArrayCollection(){
// 先初始化数组长度为0
arr = new int[0];
}
// 打印数组
public void show(){
System.out.println(Arrays.toString(arr));
}
// 给数组末尾添加一个新元素
public void addEle(int ele){
// 新建一个新数组,将旧数组的长度+1
int[] arrNew = new int[arr.length + 1];
// 遍历旧数组复制给新数组
for (int i = 0; i < arr.length; i++) {
arrNew[i] = arr[i];
}
// 将新添加的ele元素给新数组的最后一位
arrNew[arr.length] = ele;
// 再将新数组arrNew赋值给旧数组arr
arr = arrNew;
}
// 删除数组元素
public void delete(int index){
// 新建一个数组
int[] arrNew = new int[arr.length - 1];
// 先判断数组的索引是否越界
if (index < 0 || index > arr.length - 1) {
throw new RuntimeException("数组下标越界");
}
// 遍历新数组,将旧数组arr复制给新数组arrNew
for (int i = 0; i < arrNew.length; i++) {
if (index > i){
// 如果索引index大于i,正常赋值
arrNew[i] = arr[i];
}else {
// 如果索引index小于i,将索引i+1,赋值给新数组
arrNew[i] = arr[i + 1];
}
}
// 再把新数组arrNew重新赋值给旧数组arr
arr = arrNew;
}
// 获取数组某个位置的元素
public int get(int index){
return arr[index];
}
// 向数组任意位置插入一个元素
public void insertEle(int index,int ele){
// 先判断数组的索引是否越界
if (index < 0 || index > arr.length - 1) {
throw new RuntimeException("数组下标越界");
}
// 新建一个数组
int[] arrNew = new int[arr.length + 1];
for (int i = 0; i < arr.length; i++) {
if (index > i){
arrNew[i] = arr[i];
}else {
arrNew[i + 1] = arr[i];
}
}
// 向index位置插入ele元素
arrNew[index] = ele;
// 将新数组赋值arrNew给旧数组arr
arr = arrNew;
}
// 替换指定位置的元素
public int replaceEle(int index,int ele){
// 判断index位置是否合法
// 先判断数组的索引是否越界
if (index < 0 || index > arr.length - 1) {
throw new RuntimeException("数组下标越界");
}
return arr[index] = ele;
}
}
**测试与截图**
/**
- @author 23105
- @version 1.0
- @description: TODO
- @date 1/4/2023 下午6:29
*/
public class TestArrayCollection {
public static void main(String[] args) {
ArrayCollection ac = new ArrayCollection();
// 原数组
System.out.println("原数组");
ac.show();
// 添加新数组
ac.addEle(3);
ac.addEle(6);
ac.addEle(9);
ac.addEle(12);
ac.addEle(16);
// 添加后的数组
System.out.println("添加后的数组");
ac.show();
// 删除数组中一个元素
ac.delete(2);
// 删除后的数组
System.out.println("删除后的数组");
ac.show();
// 向任意位置插入一个元素
ac.insertEle(3,999);
ac.insertEle(3,99999);
// 插入后的数组
System.out.println("插入后的数组");
ac.show();
// 替换3位置的元素为520
ac.replaceEle(3,520);
// 替换后的数组
System.out.println("替换后的数组");
ac.show();
}
}
**测试截图**

**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。