
public class MyArrayList implements StringList {
   
	int size;
	String data[];
	
	static final int initCap = 4;
	
	public MyArrayList() {
		size = 0;
		data = new String[initCap];
	}
	
	
	@Override
	public void add(String str) {
		if (size == data.length) addCap();
		data[size] = str;
		size++;
	}

	private void addCap() {
	    String[] ndata = new String[data.length*2];
	    for (int i = 0; i < size; i++) {
	    	ndata[i] = data[i];
		}
	    data = ndata;
	}


	@Override
	public String get(int i) {
		return data[i];
	}

	@Override
	public void remove(int i) {
		for (int j = i; j < size-1; j++) {
			data[j] = data[j+1];
		}
		size--;
	}

	@Override
	public int size() {
		return size;
	}
	
	public String show() {
		String res = "";
		for (int i = 0; i < size(); i++) {
			res += get(i) + ",";		
		}
		return res;
	}


	@Override
	public void reverse() {
		for (int i = 0; i < size/2; i++) {
			String temp = data[i];
			data[i] = data[size-i-1];
			data[size-i-1] = temp;
		}
	}
	

}

