data:存放的元素
size:指向下一个元素的下标
capacity:容量
Array的构建
import java.util.Arrays;
public class Array {
private int[] data;
private int size;
public Array(){
this(10);
}
public Array(int capacity){
data = new int[capacity];
}
public int getCapacity(){
return data.length;
}
public int getSize() {
return size;
}
public boolean isEmpty(){
return size==0;
}
public void add(int index,int e){
if (size ==data.length){
throw new RuntimeException("array is full,add failed");
}
if (index<0||index>size){
throw new RuntimeException("add failed ,require index>=0,and index<=size");
}
//移位
for (int i=size-1;i>=index;i--){
data[i+1]=data[i];
}
data[index] = e;
size++;
}
public void addFirst(int e){
add(0,e);
}
public void addLast(int e){
add(size,e);
}
public int get(int index){
if (index<0||index>size){
throw new RuntimeException("add failed ,require index>=0,and index<=size");
}
return data[index];
}
public void set(int index,int a){
data[index]=e;
}
public int find(int e){
for(int i=0;i<size;i++){
if (data[i]==e) return i;
}
return -1;
}
public boolean contain(int e){
for (int i=0;i<size;i++){
if (data[i]==e)return true;
}
return false;
}
public int remove(int index) {
if (index < 0 || index > size) {
throw new RuntimeException("remove failed ,requi