"mirror" elements in a list
This is good code, because it does what it says on the tin. I do have two remarks:

The this. in this.ensureCapacity(limit) isn't necessary. Some people swear by adding it anyway, so it's a matter of style.

The other remark is that you loop over twice as many elements as needed because you set size to limit before looping. You can hold off until after:

public void mirror() {
    if (size != 0) {
        int limit = size * 2;
        this.ensureCapacity(limit);
        //size = limit; // [!] moved to below &gt;&gt;&gt;
        for (int i = 0; i &lt; size; i++) {
           elementData[(limit - 1) - i] = elementData[i];
        }
        size = limit; // [!] &lt;&lt;&lt; moved from above
    }
}


That's all. Good code.