前面的格式
import java.util.Arrays;
public class Mylist {
int size;
private Object[] elementData;
public Mylist() {
}
- 增加方法 add : 可以向数组属性中依次存储 Object,数组内容 存满时,需实现动态扩容
public void ZengArrayList(int size) {
elementData=new Object[10];
}
public void add(Object o) {
if(size>=elementData.length) {
elementData=Arrays.copyOf(elementData, size*2+1);//溢出自动扩容
}
elementData[size++]=o;
2.删除方法 remove :可以根据数据或下标,从数组属性中删除 Object 数据,删除后,数组后续元素需前移。
public void remove(Object o) {
int flag = 0;
int j;
for (j = 0; j < elementData.length; j++) {
if(elementData[j].equals(o)) {
flag = 1;
break;
}
}
for (int k = j + 1; k < elementData.length; k++) {
elementData[k - 1] = elementData[k];
}
if (flag == 1) {
size--;
}else {
System.out.println("无效的数据,未能删除任何数据");
}
}
3.查询方法 get :方法传入下标,返回数组中指定下标的数据。 当前存储数据量 size : 获取当前存储的有效数据长度
public Object get(int i) {
for (int j = 0; j < element.length; j++) {
if(j == i) {
return this.element[j];
}
}
System.out.println("查无此项,返回值为null");
return null;
}
public int getListLength() {
return element.length;
}
public void printList() {
for (int i = 0; i < size; i++){
System.out.print(element[i] + " ");
}
System.out.println();
}
}