package com.tongji.szx.base;
import com.tongji.szx.baseDao.ListInterface;
public class ExtendList implements ListInterface{
private T[] entry;
private int length;
private int capacity;
private static final int BASE_LENGTH=10;
/**
* 默认的构造函数
*/
public ExtendList(){
this(BASE_LENGTH);
}
@SuppressWarnings("unchecked")
/**
* 提供一个初始链表长度的构造函数
*/
public ExtendList(int intLength){
if(intLength>0){
this.length=intLength;
this.capacity=intLength;
entry=(T[])new Object[intLength];
}else{
this.length=BASE_LENGTH;
this.capacity=BASE_LENGTH;
entry=(T[])new Object[BASE_LENGTH];
}
}
@Override
/**
* 在链表的末尾插入元素
*/
public boolean add(T anEntry) {
// TODO Auto-generated method stub
try{
if(length==capacity){
copyEntry();
}
entry[length]=anEntry;
length++;
return true;
}catch(Exception e){
return false;
}
}
@SuppressWarnings("unchecked")
private void copyEntry(){
T[] newEntry=entry;
this.capacity*=2;
entry=(T[])new Object[this.capacity];
for(int index=0;index
entry[index]=newEntry[index];
}
}
31/3123>