We definitely know how to use lists now. We also know how to declare a new list and add, remove, and retrieve elements. Moreover, you have learned that the data stored in List<T> must be of the same type across all elements. Let's throw a little curveball.
ArrayList
is basically List<T> without a specified type of data. This means that we can store whatever objects we want. Storing elements of different types is also possible. ArrayList
is very flexible. Take a look at the following example to understand what ArrayList
can look like:
You have probably noticed that ArrayList
also supports all common operations, such as .Add()
. Lines 12 to 15 add different elements into the array. The first two are of the integer
type, the third is a string
type, and the last one is a GameObject
. All mixed types of elements in one variable!
When using
ArrayList
, you might need to check what type of element is under a specific index to know how to treat it in code. Unity provides a very useful function that you can use on virtually any type of object. Its GetType()
method returns the type of the object, not the value. We are using it in lines 18 and 19 to print the types of the second and third elements.
Go ahead, write the preceding code, and click on Play. You should get the following output in the Console window: