/**
* @author NotAfraidYfl 自定义面向对象的数组
*/
public class MyArray {
// 用于存储数据的数组
private Object[] elements;
// 定义一个构造方法
public MyArray() {
elements = new Object[0];
}
// 获取数组长度的方法
public int size() {
return elements.length;
}
// 数组添加元素的方法
public void add(Object obj) {
Object[] newArr = new Object[elements.length + 1];
for (int i = 0; i < elements.length; i++) {
newArr[i] = elements[i];
}
newArr[elements.length] = obj;
// 新数组赋值给旧数组
elements = newArr;
}
// 打印数组元素到控制台
public void show() {
System.out.println("myArr=" + Arrays.toString(elements));
}
// 删除元素的方式
public void delete(int index) throws Exception {
// 判断数组
if (index < 0 || index > elements.length - 1) {
throw new Exception("error");
}
Object[] newArr = new Object[elements.length - 1];
// 遍历新数组把旧数组的值赋给新数组(避免多层循环)
for (int i = 0; i < newArr.length; i++) {
if (i < index) {
newArr[i] = elements[i];
} else {
newArr[i] = elements[i + 1];
}
}
// 新数组赋值给旧数组
elements = newArr;
}
// 插入元素到指定的位置
public void insert(Object ele, int index) throws Exception {
// 判断数组
if (index < 0 || index > elements.length - 1) {
throw new Exception("插入下标越界");
}
Object[] newArr = new Object[elements.length + 1];
}
}
Java 手动实现ArrayList
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 介绍 参看Java8中ArrayList源码(不包括继承父类的)包含47个方法(method)、4个内部类(inn...