Is there some way of taking advantage of code reuse in this example?
You can absolutely refine the code to reuse the for loop. You can put the for loop in a function, which take the int value as input and return the index of value. Let's call it "iteration". If not found the value in elementData, just return -1 instead.       

public int getIndex(int value) { 
    for(int count = 0; count &lt; size; count ++) {
        if(elementData[count] == value) {
            return count;
        }
    } 
    return -1;
}


In your remove function, if you get -1 as the return value of the "iteration" function, do nothing. If you get a positive value, remove elementData[index]. Similar in the contains function.