ArrayList in Java

 

๐Ÿงญ ArrayList in Java

In Java, an ArrayList is a dynamic array that can grow and shrink in size during program execution.

Unlike normal arrays (which have a fixed size), an ArrayList provides flexibility and powerful built-in methods to store, access, and manage data efficiently.

ArrayList is one of the most widely used classes in the Java Collections Framework.


๐Ÿ”น What is an ArrayList?

An ArrayList in Java is a resizable array that can hold objects. It automatically increases its capacity when elements are added beyond its current size.

It belongs to the package:

java.util

ArrayList can store duplicate elements, maintains insertion order, and allows random access using indexes.


๐Ÿ”น Syntax to Create an ArrayList

ArrayList<Type> listName = new ArrayList<Type>();

Example:

import java.util.ArrayList; public class Example { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); } }

๐Ÿ”น Key Features of ArrayList

Dynamic size – Grows or shrinks automatically
Maintains insertion order
Allows duplicate elements
Provides random access using indexes
Not synchronized – faster but not thread-safe
Part of Java Collections Framework


๐Ÿ”น Adding Elements to an ArrayList

You can add elements using the add() method.

import java.util.ArrayList; public class AddExample { public static void main(String[] args) { ArrayList<String> fruits = new ArrayList<String>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Cherry"); System.out.println("Fruits: " + fruits); } }

Output:

Fruits: [Apple, Banana, Cherry]

๐Ÿ”น Accessing Elements in an ArrayList

You can use the get(index) method to access elements.

System.out.println(fruits.get(1)); // prints Banana

Or loop through all elements:

for (int i = 0; i < fruits.size(); i++) { System.out.println(fruits.get(i)); }

๐Ÿ”น Updating and Removing Elements

Update:

fruits.set(1, "Blueberry"); System.out.println(fruits);

Output:

[Apple, Blueberry, Cherry]

Remove:

fruits.remove(2); System.out.println(fruits);

Output:

[Apple, Blueberry]

๐Ÿ”น Example 1: Basic ArrayList Operations

import java.util.ArrayList; public class ArrayListExample { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); // Adding elements numbers.add(10); numbers.add(20); numbers.add(30); numbers.add(40); System.out.println("Initial ArrayList: " + numbers); // Accessing elements System.out.println("First element: " + numbers.get(0)); // Updating element numbers.set(2, 99); System.out.println("After update: " + numbers); // Removing element numbers.remove(1); System.out.println("After removal: " + numbers); } }

Output:

Initial ArrayList: [10, 20, 30, 40] First element: 10 After update: [10, 20, 99, 40] After removal: [10, 99, 40]

๐Ÿ”น Iterating Through an ArrayList

You can traverse an ArrayList using:

1️⃣ For Loop

for (int i = 0; i < numbers.size(); i++) { System.out.println(numbers.get(i)); }

2️⃣ Enhanced For Loop

for (int n : numbers) { System.out.println(n); }

3️⃣ Iterator

import java.util.Iterator; Iterator<Integer> it = numbers.iterator(); while (it.hasNext()) { System.out.println(it.next()); }

๐Ÿ”น Common ArrayList Methods

MethodDescriptionExample
add(element)    Adds an element    list.add(10)
add(index, element)    Adds at a specific position    list.add(1, 25)
get(index)    Returns element    list.get(2)
set(index, element)    Replaces element    list.set(0, 99)
remove(index)    Removes element    list.remove(1)
clear()    Removes all elements    list.clear()
size()    Returns number of elements    list.size()
contains(value)    Checks if value exists    list.contains(30)
isEmpty()    Checks if list is empty    list.isEmpty()

๐Ÿ”น Example 2: Using ArrayList Methods

import java.util.ArrayList; public class ArrayListMethods { public static void main(String[] args) { ArrayList<String> animals = new ArrayList<String>(); animals.add("Dog"); animals.add("Cat"); animals.add("Elephant"); animals.add("Tiger"); System.out.println("Animals: " + animals); System.out.println("First: " + animals.get(0)); System.out.println("Contains Cat? " + animals.contains("Cat")); System.out.println("Size: " + animals.size()); animals.remove("Cat"); System.out.println("After removing Cat: " + animals); } }

Output:

Animals: [Dog, Cat, Elephant, Tiger] First: Dog Contains Cat? true Size: 4 After removing Cat: [Dog, Elephant, Tiger]

๐Ÿ”น ArrayList vs Vector

FeatureArrayListVector
Synchronization        ❌ Not synchronized        ✅ Synchronized
Performance        ⚡ Faster        ⚙️ Slower
Growth rate        Increases by 50%        Doubles in size
Introduced in        JDK 1.2        JDK 1.0
Use case        Single-threaded programs        Multi-threaded programs

๐Ÿ”น Example 3: Copy All Elements from One ArrayList to Another

import java.util.ArrayList; public class CopyArrayList { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<String>(); list1.add("Red"); list1.add("Green"); list1.add("Blue"); ArrayList<String> list2 = new ArrayList<String>(); list2.addAll(list1); System.out.println("List 1: " + list1); System.out.println("List 2: " + list2); } }

Output:

List 1: [Red, Green, Blue] List 2: [Red, Green, Blue]

๐Ÿ”น Example 4: Sorting Elements in an ArrayList

import java.util.ArrayList; import java.util.Collections; public class SortArrayList { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); numbers.add(45); numbers.add(10); numbers.add(67); numbers.add(32); System.out.println("Before Sorting: " + numbers); // Sorting in ascending order Collections.sort(numbers); System.out.println("After Sorting: " + numbers); } }

Output:

Before Sorting: [45, 10, 67, 32] After Sorting: [10, 32, 45, 67]

๐Ÿ”น Example 5: Searching for an Element in an ArrayList

import java.util.ArrayList; import java.util.Scanner; public class SearchElement { public static void main(String[] args) { ArrayList<String> cities = new ArrayList<String>(); Scanner sc = new Scanner(System.in); cities.add("Kochi"); cities.add("Chennai"); cities.add("Bangalore"); cities.add("Delhi"); System.out.println("Cities: " + cities); System.out.print("Enter a city to search: "); String name = sc.nextLine(); if (cities.contains(name)) { System.out.println(name + " is present in the list!"); } else { System.out.println(name + " is not found in the list!"); } sc.close(); } }

Output:

Cities: [Kochi, Chennai, Bangalore, Delhi] Enter a city to search: Bangalore Bangalore is present in the list!

๐Ÿ’ก Summary

ConceptDescription
ArrayList            Dynamic array in Java
Resizable            Grows automatically as elements are added
Not synchronized            Faster than Vector
Common methods       add(), get(), set(), remove(), size()
Belongs to       java.util package

๐Ÿงพ Key Takeaway

The ArrayList is one of the most important and flexible data structures in Java.
It provides the efficiency of arrays combined with the dynamic behavior of linked structures — making it ideal for most modern Java applications.

Example Programs

 1️⃣ Create an ArrayList of 5 Numbers and Find Their Average

import java.util.ArrayList; public class AverageArrayList { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); // Adding 5 numbers numbers.add(10); numbers.add(20); numbers.add(30); numbers.add(40); numbers.add(50); int sum = 0; // Calculate sum of all elements for (int n : numbers) { sum += n; } double average = (double) sum / numbers.size(); System.out.println("Numbers: " + numbers); System.out.println("Average = " + average); } }

Output:

Numbers: [10, 20, 30, 40, 50] Average = 30.0

2️⃣ Write a Program to Remove Duplicate Elements from an ArrayList

import java.util.ArrayList; public class RemoveDuplicates { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<Integer>(); // Add elements (with duplicates) numbers.add(10); numbers.add(20); numbers.add(10); numbers.add(30); numbers.add(20); System.out.println("Original List: " + numbers); // Create a new list to store unique elements ArrayList<Integer> unique = new ArrayList<Integer>(); for (int n : numbers) { if (!unique.contains(n)) { unique.add(n); } } System.out.println("List after removing duplicates: " + unique); } }

Output:

Original List: [10, 20, 10, 30, 20] List after removing duplicates: [10, 20, 30]

3️⃣ Write a Program to Reverse an ArrayList

import java.util.ArrayList; import java.util.Collections; public class ReverseArrayList { public static void main(String[] args) { ArrayList<String> colors = new ArrayList<String>(); colors.add("Red"); colors.add("Green"); colors.add("Blue"); colors.add("Yellow"); System.out.println("Original List: " + colors); // Reverse the ArrayList Collections.reverse(colors); System.out.println("Reversed List: " + colors); } }

Output:

Original List: [Red, Green, Blue, Yellow] Reversed List: [Yellow, Blue, Green, Red]

 4️⃣ Create an ArrayList of Strings and Find the Longest String

import java.util.ArrayList; public class LongestString { public static void main(String[] args) { ArrayList<String> words = new ArrayList<String>(); words.add("Apple"); words.add("Banana"); words.add("Cherry"); words.add("Pineapple"); words.add("Mango"); System.out.println("Words: " + words); String longest = words.get(0); for (String w : words) { if (w.length() > longest.length()) { longest = w; } } System.out.println("Longest word: " + longest); } }

Output:

Words: [Apple, Banana, Cherry, Pineapple, Mango] Longest word: Pineapple

5️⃣ Write a Program to Merge Two ArrayLists and Display the Result

import java.util.ArrayList; public class MergeArrayLists { public static void main(String[] args) { ArrayList<String> list1 = new ArrayList<String>(); list1.add("A"); list1.add("B"); list1.add("C"); ArrayList<String> list2 = new ArrayList<String>(); list2.add("D"); list2.add("E"); list2.add("F"); System.out.println("List 1: " + list1); System.out.println("List 2: " + list2); // Merge both lists ArrayList<String> mergedList = new ArrayList<String>(); mergedList.addAll(list1); mergedList.addAll(list2); System.out.println("Merged List: " + mergedList); } }

Output:

List 1: [A, B, C] List 2: [D, E, F] Merged List: [A, B, C, D, E, F]


Comments

Popular posts from this blog

Object Oriented Programming PBCST304 KTU BTech CS Semester 3 2024 Scheme - Dr Binu V P

Introduction to Java Programming

Inheritance and Polymorphism