Introduction
In Java, a List is an ordered collection (also known as a sequence) that allows duplicates
and provides a way to access elements by their integer index. An ArrayList
is a resizable array implementation of the List interface
in Java. It allows you to store a dynamic collection of elements.
Key Characteristics of ArrayLists:
-
Ordered: Elements in a list have a specific order, and you can access them by their index (starting from 0).
-
Allows Duplicates: Lists can contain multiple instances of the same object.
Core ArrayList Implementations
An ArrayList
is a resizable array implementation of the List
interface in Java. It provides a way to store a dynamic collection of elements that can grow and shrink in size as needed. ArrayList in java pakage import java.util.ArrayList;
- Dynamic Sizing: Unlike arrays,
ArrayList
can automatically resize itself when elements are added or removed. - Order of Elements: Maintains the order in which elements are added.
- Allows Duplicates: You can store duplicate elements.
- Random Access: Provides fast random access to elements using the get(int index) method.
- Performance:
- Fast for retrieval O(1) time complexity.
- Slower for adding/removing elements from the middle (O(n) time complexity) because it may require shifting elements.
ArrayListExample.java
Here’s the complete code example that we will be discussing below:
<span>import</span> <span>java.util.ArrayList</span><span>;</span><span>public</span> <span>class</span> <span>ArrayListExample</span> <span>{</span><span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>{</span><span>// Create an ArrayList to store String elements</span><span>ArrayList</span><span><</span><span>String</span><span>></span> <span>fruits</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span><span>// Adding elements to the ArrayList</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Apple"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Banana"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Cherry"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Mango"</span><span>);</span><span>// Print the ArrayList</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Fruits: "</span> <span>+</span> <span>fruits</span><span>);</span><span>// Accessing an element</span><span>String</span> <span>secondFruit</span> <span>=</span> <span>fruits</span><span>.</span><span>get</span><span>(</span><span>1</span><span>);</span> <span>// Index starts from 0</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Second fruit: "</span> <span>+</span> <span>secondFruit</span><span>);</span> <span>// Output: Banana</span><span>// Removing an element</span><span>fruits</span><span>.</span><span>remove</span><span>(</span><span>"Mango"</span><span>);</span> <span>// Remove by value</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"After removing Mango: "</span> <span>+</span> <span>fruits</span><span>);</span><span>// Size of the ArrayList</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Number of fruits: "</span> <span>+</span> <span>fruits</span><span>.</span><span>size</span><span>());</span><span>// Iterating through the ArrayList</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"All fruits:"</span><span>);</span><span>for</span> <span>(</span><span>String</span> <span>fruit</span> <span>:</span> <span>fruits</span><span>)</span> <span>{</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>fruit</span><span>);</span><span>}</span><span>}</span><span>}</span><span>import</span> <span>java.util.ArrayList</span><span>;</span> <span>public</span> <span>class</span> <span>ArrayListExample</span> <span>{</span> <span>public</span> <span>static</span> <span>void</span> <span>main</span><span>(</span><span>String</span><span>[]</span> <span>args</span><span>)</span> <span>{</span> <span>// Create an ArrayList to store String elements</span> <span>ArrayList</span><span><</span><span>String</span><span>></span> <span>fruits</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span> <span>// Adding elements to the ArrayList</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Apple"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Banana"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Cherry"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Mango"</span><span>);</span> <span>// Print the ArrayList</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Fruits: "</span> <span>+</span> <span>fruits</span><span>);</span> <span>// Accessing an element</span> <span>String</span> <span>secondFruit</span> <span>=</span> <span>fruits</span><span>.</span><span>get</span><span>(</span><span>1</span><span>);</span> <span>// Index starts from 0</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Second fruit: "</span> <span>+</span> <span>secondFruit</span><span>);</span> <span>// Output: Banana</span> <span>// Removing an element</span> <span>fruits</span><span>.</span><span>remove</span><span>(</span><span>"Mango"</span><span>);</span> <span>// Remove by value</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"After removing Mango: "</span> <span>+</span> <span>fruits</span><span>);</span> <span>// Size of the ArrayList</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Number of fruits: "</span> <span>+</span> <span>fruits</span><span>.</span><span>size</span><span>());</span> <span>// Iterating through the ArrayList</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"All fruits:"</span><span>);</span> <span>for</span> <span>(</span><span>String</span> <span>fruit</span> <span>:</span> <span>fruits</span><span>)</span> <span>{</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>fruit</span><span>);</span> <span>}</span> <span>}</span> <span>}</span>import java.util.ArrayList; public class ArrayListExample { public static void main(String[] args) { // Create an ArrayList to store String elements ArrayList<String> fruits = new ArrayList<>(); // Adding elements to the ArrayList fruits.add("Apple"); fruits.add("Banana"); fruits.add("Cherry"); fruits.add("Mango"); // Print the ArrayList System.out.println("Fruits: " + fruits); // Accessing an element String secondFruit = fruits.get(1); // Index starts from 0 System.out.println("Second fruit: " + secondFruit); // Output: Banana // Removing an element fruits.remove("Mango"); // Remove by value System.out.println("After removing Mango: " + fruits); // Size of the ArrayList System.out.println("Number of fruits: " + fruits.size()); // Iterating through the ArrayList System.out.println("All fruits:"); for (String fruit : fruits) { System.out.println(fruit); } } }
Enter fullscreen mode Exit fullscreen mode
Output of ArrayListExample.java:
Fruits: [Apple, Banana, Cherry, Mango]Second fruit: BananaAfter removing Mango: [Apple, Banana, Cherry]Number of fruits: 3All fruits:AppleBananaCherryFruits: [Apple, Banana, Cherry, Mango] Second fruit: Banana After removing Mango: [Apple, Banana, Cherry] Number of fruits: 3 All fruits: Apple Banana CherryFruits: [Apple, Banana, Cherry, Mango] Second fruit: Banana After removing Mango: [Apple, Banana, Cherry] Number of fruits: 3 All fruits: Apple Banana Cherry
Enter fullscreen mode Exit fullscreen mode
1. Importing the ArrayList Class
<span>import</span> <span>java.util.ArrayList</span><span>;</span><span>import</span> <span>java.util.ArrayList</span><span>;</span>import java.util.ArrayList;
Enter fullscreen mode Exit fullscreen mode
Purpose: This line imports the ArrayList
class from the java.util
package, which is necessary to use ArrayList
in our program.
2. Creating an ArrayList
<span>ArrayList</span><span><</span><span>String</span><span>></span> <span>fruits</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span><span>ArrayList</span><span><</span><span>String</span><span>></span> <span>fruits</span> <span>=</span> <span>new</span> <span>ArrayList</span><span><>();</span>ArrayList<String> fruits = new ArrayList<>();
Enter fullscreen mode Exit fullscreen mode
Purpose: This line creates an ArrayList
named fruits
that will store String
elements. The angle brackets <String>
specify the type of elements the list will hold.
3. Adding Elements to the ArrayList
<span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Apple"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Banana"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Cherry"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Mango"</span><span>);</span><span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Apple"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Banana"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Cherry"</span><span>);</span> <span>fruits</span><span>.</span><span>add</span><span>(</span><span>"Mango"</span><span>);</span>fruits.add("Apple"); fruits.add("Banana"); fruits.add("Cherry"); fruits.add("Mango");
Enter fullscreen mode Exit fullscreen mode
Purpose: These lines add four fruit names to the fruits
ArrayList. The add
method appends the specified element to the end of the list.
4. Printing the ArrayList
<span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Fruits: "</span> <span>+</span> <span>fruits</span><span>);</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Fruits: "</span> <span>+</span> <span>fruits</span><span>);</span>System.out.println("Fruits: " + fruits);
Enter fullscreen mode Exit fullscreen mode
Purpose: This line prints the entire ArrayList. The toString
method of ArrayList is automatically called, displaying the contents in square brackets.
5. Accessing an Element
<span>String</span> <span>secondFruit</span> <span>=</span> <span>fruits</span><span>.</span><span>get</span><span>(</span><span>1</span><span>);</span><span>String</span> <span>secondFruit</span> <span>=</span> <span>fruits</span><span>.</span><span>get</span><span>(</span><span>1</span><span>);</span>String secondFruit = fruits.get(1);
Enter fullscreen mode Exit fullscreen mode
Purpose: This line retrieves the second element from the fruits
ArrayList (index 1, since indexing starts at 0). The value is stored in the variable secondFruit
.
6. Removing an Element
<span>fruits</span><span>.</span><span>remove</span><span>(</span><span>"Mango"</span><span>);</span><span>fruits</span><span>.</span><span>remove</span><span>(</span><span>"Mango"</span><span>);</span>fruits.remove("Mango");
Enter fullscreen mode Exit fullscreen mode
Purpose: This line removes the element “Mango” from the fruits
ArrayList. The remove
method can take either an index or an object to remove.
7. Getting the Size of the ArrayList
<span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Number of fruits: "</span> <span>+</span> <span>fruits</span><span>.</span><span>size</span><span>());</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>"Number of fruits: "</span> <span>+</span> <span>fruits</span><span>.</span><span>size</span><span>());</span>System.out.println("Number of fruits: " + fruits.size());
Enter fullscreen mode Exit fullscreen mode
Purpose: This line prints the number of elements currently in the fruits
ArrayList using the size
method.
8. Iterating Through the ArrayList
<span>for</span> <span>(</span><span>String</span> <span>fruit</span> <span>:</span> <span>fruits</span><span>)</span> <span>{</span><span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>fruit</span><span>);</span><span>}</span><span>for</span> <span>(</span><span>String</span> <span>fruit</span> <span>:</span> <span>fruits</span><span>)</span> <span>{</span> <span>System</span><span>.</span><span>out</span><span>.</span><span>println</span><span>(</span><span>fruit</span><span>);</span> <span>}</span>for (String fruit : fruits) { System.out.println(fruit); }
Enter fullscreen mode Exit fullscreen mode
Purpose: This for-each
loop iterates over each element in the fruits
ArrayList and prints each fruit on a new line.
Conclusion
This guide provides a step-by-step breakdown of how to use an ArrayList
in Java. You learned how to create an ArrayList
, add and remove elements, access specific items, and iterate through the list. Understanding these basic operations will help you work with collections in Java effectively.
暂无评论内容