自定义一个动态数组类,数组只有在增加元素时才会增加大小,节约空间,适用于修改少、遍历多的操作。
package list;
public class DyList<T> {
private Object[] elements = null;
public DyList(){
elements = new Object[0];
}
public DyList(int size){
if (size > 0){
elements = new Object[size];
}else{
elements = new Object[0];
}
}
public void add(T i){
Object[] tmp = new Object[elements.length+1];
System.arraycopy(elements, 0, tmp, 0, elements.length);
tmp[elements.length] = i;
elements = tmp;
}
@SuppressWarnings("unchecked")
public T get(int index){
return (T)elements[index];
}
public int size(){
return elements.length;
}
}