定义: 是顺序结构,在内存里开辟一块连续的空间,只要知道开始元素的地址,就会得到所有元素的地址。除首元素与最后一个元素都有唯一的前驱顶点和后继节点。故可以通过索引找到。
特点: :
- 可以随机存取数据表中的元素(通过索引来访问数据)
- 在内存中开辟出一块连续的内存空间,存取同类型数据(所以可以进行索引访问),
- 在插入,删除元素的时候,需要对整个数组进行移动,效率低。
- 在元素较少的时候,存储空间的利用率较低
代码实现:
public class Array<Type> {
private static final int SIZE=10;
private int index=-1;
private Type[] array;
@SuppressWarnings("unchecked")
public Array() {
array=(Type [])new Object[SIZE];
}
public Array(int size) {
if(size<=0) {
throw new ArrayIndexOutOfBoundsException();
}else {
array=(Type [])new Object[size];
}
}
public Array(Type[] array) {
this.array=array;
index=array.length-1;
}
public void enlarge() {
Type[] arr=(Type[])new Object[array.length*2];
for(int i=0;i<=this.index;i++) {
arr[i]=array[i];
}
this.array=arr;
}
public Type get(int index) {
if(index<0 || index>this.index) {
throw new ArrayIndexOutOfBoundsException();
}else {
return array[index];
}
}
public void set(int index,Type element) {
if(index<0 || index>this.index) {
throw new ArrayIndexOutOfBoundsException();
}else {
array[index]=element;
System.out.println("修改成功");
}
}
public void remove(int index) {
if(index<0 || index>this.index) {
throw new ArrayIndexOutOfBoundsException();