Java
ArrayLists
WebDevLee
2022. 2. 6. 16:30
자바의 ArrayList에 대해 정리하였습니다.
< Introduction >
When we work with arrays in Java, we’ve been limited by the fact that once an array is created, it has a fixed size. We can’t add or remove elements.
But with ArrayList, we can create mutable and dynamic lists.
ArrayList allow us to:
- Store object references as elements
- Store elements of the same type (just like arrays)
- Access elements by index (just like arrays)
- Add elements
- Remove elements
To use an ArrayList, we need to import them from Java’s util package as well:
import java.util.ArrayList;
< Creating ArrayLists >
< Syntax >
// Declaring: ArrayList<DataType> VariableName; // Initializing: VariableName = new ArrayList<DataType>(); // Declaring and initializing in one line: ArrayList<DataType> VariableName = new ArrayList<DataType>();
- Use angle brackets < > to declare the type of the ArrayList.
: These symbols are used for generics. Generics are a Java construct that allows us to define classes and objects as parameters(data-type) of an ArrayList.- For this reason, we can’t use primitive types in an ArrayList
: alternatively, use <Integer>, <Double>, and <Character> generic, etc.
Example)
import java.util.ArrayList;
class ToDos {
public static void main(String[] args) {
ArrayList<String> toDoList = new ArrayList<String>();
}
}
< Adding an Item >
To insert an element using add( ) method.
- add( ) method need two arguments
1. index of the new element (optional)
2. value of the new element
Example)
ArrayList<Car> carShow = new ArrayList<Car>();
carShow.add(ferrari);
// carShow now holds [ferrari]
carShow.add(thunderbird);
// carShow now holds [ferrari, thunderbird]
carShow.add(1, corvette);
// carShow now holds [ferrari, corvette, thunderbird]
+. It is possible to create an ArrayList that holds values of different types.
ArrayList assortment = new ArrayList<>();
assortment.add("Hello"); // String
assortment.add(12); // Integer
assortment.add(ferrari); // reference to Car
// assortment holds ["Hello", 12, ferrari]
: In the above snippet, assortment is an ArrayList that can store different values because we do not specify its type during initialization.
: In this case, the items stored in this ArrayList will be considered Objects
< ArrayList Size >
To know ArrayList's length using size( ) method.
Example)
ArrayList<String> SangHunsToDos = new ArrayList<String>();
SangHunsToDos.add("Study Java");
SangHunsToDos.add("Study English");
SangHunsToDos.add("Go to Travel!");
SangHunsToDos.size(); // 3
< Accessing an Index >
Use the method get( ) to access an index instead of [ ]
Example)
ArrayList<String> SangHunsToDos = new ArrayList<String>();
SangHunsToDos.add("Study Java");
SangHunsToDos.add("Study English");
SangHunsToDos.add("Go to Travel!");
SangHunsToDos.get(2); // Go to Travel!
< Changing a Value >
Use the set( ) method.
- set( ) method need two arguments
1. index of the element
2. value of the element
Example)
ArrayList<String> SangHunsToDos = new ArrayList<String>();
SangHunsToDos.add("Study Java");
SangHunsToDos.add("Study English");
SangHunsToDos.add("Go to Travel!");
SangHunsToDos.set(0, "Study HTML");
// ["Study HTML", "Study English", "Go to Travel!"]
< Removing an Item >
To remove an element using remove( ) method.
- remove( ) method need one parameter :
1. index : the element's index to remove. OR
2. element : the element's value to remove.
Example)
ArrayList<String> SangHunsToDos = new ArrayList<String>();
SangHunsToDos.add("Study Java");
SangHunsToDos.add("Study English");
SangHunsToDos.add("Go to Travel!");
SangHunsToDos.remove(0);
SangHunsToDos.remove("Study English");
// ["Go to Travel!"]
< Getting an Item's Index >
To know the position of a certain element using indexOf( ) method.
Example)
// ["Holmes", "Poirot", "Marple", "Spade", "Fletcher", "Conan", "Ramotswe"];
System.out.println(detectives.indexOf("Fletcher")); // 4