/** Searches for the first occurrence of the given argument, testing for equality using the equals method. @param elem an object. @return the index of the first occurrence of the argument in this list; returns -1 if the object is not found. */ public int indexOf(Object elem) { if (elem == null) { for (int i = 0; i < size; i++) if (elementData[i] == null) return i; } else { for (int i = 0; i < size; i++) if (elem.equals(elementData[i])) return i; } return -1; }