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; } } 
|