09. Own List - prabhatrocks07/Core-Java-Programming GitHub Wiki

public class MyList {
private Object[] arr;
private int size = 0;

public MyList() {
	arr = new Object[4];
}

public Object get(int index) {
	if(index < size) {
		return arr[index];
	} else {
		throw new ArrayIndexOutOfBoundsException();
	}
}

public Object remove(int index) {
	if(index < size) {
		Object obj = arr[index];
		int t = index;
		
		while (t < size) {
			arr[t] = arr[t+1];
			arr[t+1] = null;
			t++;
		}
		size--;
		return obj;
	} else {
		throw new ArrayIndexOutOfBoundsException();
	}
}

public void add(Object obj) {
	if(arr.length - size <= 5) {
		increaseSize();
	}
	
	arr[size++] = obj;
}

public int size() {
	return size;
}

private void increaseSize() {
	arr = Arrays.copyOf(arr, arr.length * 2);
}
}