String[] list = new String[3];
list[3] = "dog" ;
An ArrayIndexOutOfBounds
exception is thrown and
(usually) the program halts.
ArrayList
class
The ArrayList
class builds upon the capabilities of arrays.
An ArrayList
object contains an array of object references
plus many methods for managing that array.
The biggest convenience of a ArrayList
is that you can
keep adding elements to it no matter what size it was originally.
The size of the ArrayList
automatically increases
and no information will be lost.
However, this convenience comes at a price:
ArrayList
must be object references,
not primitive data like int
or double
.ArrayList
operations are slightly slower than array operations.
In the picture, "X" shows that a cell is empty.
The ArrayList
in the picture is completely empty.
The "X" is conceptual;
the actual implementation of ArrayList
uses
an unspecified means to keep track of empty cells.
Note: "X" is not the value null
.
If null
is placed in a cell, the cell is regarded as containing data.
(Thought Question: ) Say that you want a list of int
values.
But an ArrayList
can contain only object references.
How can you use an ArrayList
to store your int
s?
(Click for a hint.)