An example for both is the ArrayList class. It functions like an array (and is actually implemented using one), but provides precise control over where in the array you can access.
...