ArrayList in Java

โšก Smart Summary

ArrayList in Java is a dynamic, resizable data structure that grows and shrinks automatically as elements are added or removed, unlike fixed-length arrays. It provides built-in methods such as add, remove, size, and contains for flexible element handling.

  • ๐Ÿ“ฆ ArrayList Defined: A dynamic, variable-length data structure that resizes automatically as elements change.
  • ๐Ÿ†š vs Array: Unlike a fixed-length array, an ArrayList can grow and shrink at runtime.
  • โž• add() & remove(): Add elements to the end or a given index, and remove by object or index.
  • ๐Ÿ“ size() & contains(): size() returns the element count; contains() returns true if an element exists.
  • ๐Ÿ”ข Zero-Based Index: Like arrays, ArrayList elements start at index 0.

ArrayList in Java

What is ArrayList in Java?

ArrayList in Java is a data structure that can be stretched to accommodate additional elements within itself and shrink back to a smaller size when elements are removed. It is a very important data structure useful in handling the dynamic behavior of elements.

Wondering how ArrayList Java could be useful, see the below conversation –

Arraylist in Java

For Java ArrayList Example, see the following picture of a man stretching an elastic rubber band. The actual length of the rubber band is much smaller, but when stretched it can extend a lot more than its actual length and can be used to hold/bind much larger objects with it. Now, consider the next picture, that of a simple rope, it cannot stretch and will have a fixed length.

Arraylist In Java

It can grow as, and when required to accommodate the elements it needs to store and when elements are removed, it can shrink back to a smaller size. So as our friend has an issue with the array he is using cannot be expanded or made to shrink, we will be using ArrayList. Arrays are like the rope shown in the above picture; they will have a fixed length, cannot be expanded nor reduced from the original length. So our stretchable rubber-band is much like the Array List whereas the rope can be considered as the array. Technically speaking, ArrayList Java is like a dynamic array or a variable-length array.

Let us see and understand the following code snippet of Java ArrayList Syntax that will help you work around with ArrayList.

ArrayList<Object> a = new ArrayList<Object>();

ArrayList Methods in Java

  • ArrayList add: This is used to add elements to the Array List. If an ArrayList already contains elements, the new element gets added after the last element unless the index is specified.
    Syntax:
    add(Object o);
  • ArrayList remove: The specified element is removed from the list and the size is reduced accordingly. Alternately, you can also specify the index of the element to be removed.
    Syntax:
    remove(Object o);
  • Java array size: This will give you the number of elements in the Array List. Just like arrays, here too the first element starts with index 0.
    Syntax:
    int size();
  • ArrayList contains: This method will return true if the list contains the specified element.
    Syntax:
    boolean contains(Object o);

Java ArrayList Example

Following is a Java ArrayList Example:

import java.util.ArrayList;
class Test_ArrayList {
 public static void main(String[] args) {
  //Creating a generic ArrayList
  ArrayList<String> arlTest = new ArrayList<String>();
  //Size of arrayList
  System.out.println("Size of ArrayList at creation: " + arlTest.size());
  //Lets add some elements to it
  arlTest.add("D");
  arlTest.add("U");
  arlTest.add("K");
  arlTest.add("E");

  //Recheck the size after adding elements
  System.out.println("Size of ArrayList after adding elements: " + arlTest.size());

  //Display all contents of ArrayList
  System.out.println("List of all elements: " + arlTest);

  //Remove some elements from the list
  arlTest.remove("D");
  System.out.println("See contents after removing one element: " + arlTest);

  //Remove element by index
  arlTest.remove(2);
  System.out.println("See contents after removing element by index: " + arlTest);

  //Check size after removing elements
  System.out.println("Size of arrayList after removing elements: " + arlTest.size());
  System.out.println("List of all elements after removing elements: " + arlTest);

  //Check if the list contains "K"
  System.out.println(arlTest.contains("K"));

 }
}

Output:

Size of ArrayList at creation: 0
Size of ArrayList after adding elements: 4
List of all elements: [D, U, K, E]
See contents after removing one element: [U, K, E]
See contents after removing element by index: [U, K]
Size of arrayList after removing elements: 2
List of all elements after removing elements: [U, K]
true

Note: For simplicity, the elements shown in above code are single character elements. We can add Strings, integers, etc.

use Java Arraylist

FAQs

An array has a fixed length set at creation, while an ArrayList is dynamic and resizes automatically. Arrays can hold primitives and objects; ArrayList holds only objects and offers built-in methods.

ArrayList uses a dynamic array, giving fast random access but slower inserts and deletes in the middle. LinkedList uses nodes, giving faster inserts and deletes but slower index-based access.

No. ArrayList is not synchronized and is not thread-safe. For concurrent access, use Collections.synchronizedList() or CopyOnWriteArrayList to avoid data inconsistency in multi-threaded programs.

AI assistants can generate ArrayList code, suggest the right methods, explain generics, and detect issues such as IndexOutOfBoundsException. They help beginners manipulate lists correctly and efficiently.

Yes. AI can recommend whether to use ArrayList, LinkedList, HashSet, or HashMap based on the access pattern, ordering, and performance needs described for your program.

Summarize this post with: