Mastering Java ArrayLists: A Comprehensive Guide

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: Banana
After removing Mango: [Apple, Banana, Cherry]
Number of fruits: 3
All fruits:
Apple
Banana
Cherry
Fruits: [Apple, Banana, Cherry, Mango]
Second fruit: Banana
After removing Mango: [Apple, Banana, Cherry]
Number of fruits: 3
All fruits:
Apple
Banana
Cherry
Fruits: [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.

原文链接:Mastering Java ArrayLists: A Comprehensive Guide

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
May there be enough clouds in your life to make a beautiful sunset.
愿你生命中有够多的云翳,来造成一个美丽的黄昏
评论 抢沙发

请登录后发表评论

    暂无评论内容