Before you keep reading...
Runestone Academy can only continue if we get support from individuals like you. As a student you are well aware of the high cost of textbooks. Our mission is to provide great books to you for free, but we ask that you consider a $10 donation, more if you can or less if $10 is a burden.
Before you keep reading...
Making great stuff takes time and $$. If you appreciate the book you are reading now and want to keep quality materials free for other students please consider a donation to Runestone Academy. We ask that you consider a $10 donation, but if you can give more thats great, if $10 is too much for your budget we would be happy with whatever you can afford as a show of support.
8.8. ArrayList Summary¶
In this chapter you learned about ArrayLists which are dynamic re-sizable arrays. You learned how to declare and create ArrayLists, add and remove objects from them, set the object at an index, and get the object at an index.
List are like arrays in that you can store many objects of the same type in a list, just as you can in an array. Lists are different from arrays in that they can grow or shrink as needed. You can also add an element anywhere in a list and remove an element from any index. The first element in a list is at index 0 just like arrays.
Lists also differ from arrays in that you can have an array of any of the primitive types: int, double, or boolean, but you can only put objects in a list. You can use the wrapper classes
Boolean to wrap a primitive value in an object so that you can put it in a list. Java will also do this automatically for you if you try to add a primitive value to a list or set a primitive variable to an item of a list. This is called autoboxing and unboxing.
8.8.1. Concept Summary¶
Autoboxing - Automatically wrapping a primitive type in a wrapper class object. For instance if you try to add an
intvalue to a list, it will automatically be converted to an
Abstract Method - A method that only has a declaration and no method body (no code inside the method).
ArrayList - An ArrayList can hold many objects of the same type. It can grow or shrink as needed. You can add and remove items at any index.
Add - You can add an object to the end of a list using
listName.add(obj). You can add an object at an index of a list using
add(index,obj). This will first move any objects at that index or higher to the right one position to make room for the new object.
Declaration - To declare an ArrayList use
ArrayList<Type> name, where
Typeis the class name for the type of objects in the list. If you leave off the
<Type>it will default to
Creation - To create an ArrayList use
new ArrayList<Type>, where
Typeis the class name for the type of objects you want to store in the list. There are other classes that implement the
Listinterface, but you only need to know the
ArrayListclass for the exam.
Get - To get an object at an index from a list use
Index - You can access and set values in a list using an index. The first element in a list called
list1is at index 0
list1.get(0). The last element in a list is at the length minus one -
list1[list1.size() - 1].
Remove - To remove the object at an index use
ListName.remove(index). This will move all object past that index to the left one index.
Set - To set the value at an index in a list use
Size - Use
listName.size()to get the number of objects in the list.
Wrapper Class - Classes used to create objects that hold primitive type values like
Unboxing - Automatically converting a wrapper object like an
Integerinto a primitive type such as an
8.8.2. Vocabulary Practice¶
For more practice, see this Quizlet.
8.8.3. Common Mistakes¶
setreplaces the item at the index
removeat an index moves all items that were to the right of that index left one index
addat an index moves everything that was at the index and greater to the right one index
incrementing an index when looping through a list even though you removed an item from the list
nameList.size()to get the number of elements in a list