Arrays are powerful but their sizes are fixed once declared. To overcome the inconvenience, array lists are introduced in Java. Array lists are resizable. See below:
B. Watch (Slides)
Intro Java: E.7.11-E7.14 of Big Java Early Objects
AP CS A: Refer to Card.java and Deck.java code base, finish up the constructor that initializes the deck as an ArrayList. Add a Tester class to create a deck of 52 cards. Ask users to enter 3 numbers between 1-52, remove those cards; then ask users to enter a number between 1-45, print out the suit and face of that card.
D. What is <E>?
<E> is a type parameter to specify what type of objects will the array list has. See ArrayList of Person objects here.