Introduction
In previous lessons, you learned how objects can be grouped together in arrays to help you process data in batches. Arrays are really useful but the fact that they have a static length makes them hard to deal with when loading an unknown amount of data. Also, accessing objects in the array requires you to know the array's index, otherwise traversing the whole array is necessary to find the object. You also learned briefly about ArrayList, which behaves like an array that can dynamically change its size to support more advanced use cases.
In this lesson, you'll learn how ArrayList actually works. You'll also learn about the Java Collections Framework, which includes some more advanced data structures for some more advanced use cases. As part of this journey, you'll also learn how to iterate on many data structures, compare objects in many different ways, and sort collections in an efficient way.
You'll also learn about generics, which is a powerful way of getting help from the...