关于Vector的优化,自制StringVector

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

public class StringVector{

private static final int DEFAULT_SIZE = 3;

private String [] data;

private int count;

public StringVector() {

this(DEFAULT_SIZE);

}

public StringVector(int initialSize){

data = new String[initialSize];

}

public void add(String str){

if(str == null)

return;

ensureCapacity(count + 1);

data[count++] = str;

}

private void ensureCapacity(int minCapacity){

int oldCapacity = data.length;

if (minCapacity > oldCapacity){

String oldData[] = data;

int newCapacity = oldCapacity * 2;

data = new String[newCapacity];

System.arraycopy(oldData, 0, data, 0, count);

}

}

public void remove(String str){

if(str == null)

return;

for(int i = 0; i < count; i++){

if(data[i].equals(str)){

System.arraycopy(data,i+1,data,i,count-1);

data[--count] = null;

return;

}

}

}

public final String get(int index) {

if(index < 0)

return null;

else if(index > count)

return null;

else

return data[index];

}

public int size(){

return count;

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航