// CSE 143, Autumn 2013 // In progress version of a class similar to ArrayList // We will discuss how to comment this class on Friday import java.util.*; public class ArrayIntList { public static final int DEFAULT_SIZE = 10; private int[] elementData; private int size; public ArrayIntList() { size = 0; elementData = new int[DEFAULT_SIZE]; } public void add(int value) { /* checkSize(); elementData[size] = value; size++; */ // we can just call our other add method // instead of rewriting add. add(size, value); } public void add(int index, int value) { checkSize(); size++; for(int i = size - 1; i > index; i--) { elementData[i] = elementData[i - 1]; } elementData[index] = value; } public int get(int index) { return elementData[index]; } public void set(int index, int value) { elementData[index] = value; } public int size() { return size; } public boolean isEmpty() { return size == 0; } public void remove(int index) { for(int i = index; i < size - 1; i++) { elementData[i] = elementData[i + 1]; } size--; } public String toString() { if (size == 0) { return "[]"; } else { String result = "[" + elementData[0]; for (int i = 1; i < size; i++) { result += ", " + elementData[i]; } result += "]"; return result; } } public int indexOf(int value) { for (int i = 0; i < size; i++) { if(elementData[i] == value) { return i; } } return -1; } private void checkSize() { if(size == elementData.length) { elementData = Arrays.copyOf(elementData, size * 2); } } }