Java ArrayList Class



Introduction

The ArrayList class extends AbstractList and implements the List interface. ArrayList supports dynamic arrays that can grow as needed.

Standard Java arrays are of a fixed length. After arrays are created, they cannot grow or shrink, which means that you must know in advance how many elements an array will hold.

Array lists are created with an initial size. When this size is exceeded, the collection is automatically enlarged. When objects are removed, the array may be shrunk.

Following are the important points about ArrayList −

  • It implements all optional list operations and it also permits all elements, includes null.

  • It provides methods to manipulate the size of the array that is used internally to store the list.

  • The constant factor is low compared to that for the LinkedList implementation.

ArrayList Class Declaration

Following is the declaration for java.util.ArrayList class −

public class ArrayList<E>
   extends AbstractList<E>
   implements Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

Here <E> represents an Element. For example, if you're building an array list of Integers then you'd initialize it as

ArrayList<Integer> list = new ArrayList<Integer>();  

ArrayList Class Constructors

Following is the list of the constructors provided by the ArrayList class -

Sr.No.

Constructor & Description

1

ArrayList()

This constructor is used to create an empty list with an initial capacity sufficient to hold 10 elements.

2

ArrayList(Collection<? extends E> c)

This constructor is used to create a list containing the elements of the specified collection.

3

ArrayList(int initialCapacity)

This constructor is used to create an empty list with an initial capacity.

ArrayList Class Methods

Sr.No.

Method & Description

1

boolean add(E e)

This method appends the specified element to the end of this list.

2

boolean addAll(Collection<? extends E> c)

This method appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection's Iterator

3

void clear()

This method removes all of the elements from this list.

4

Object clone()

This method returns a shallow copy of this ArrayList instance.

5

boolean contains(Object o)

This method returns true if this list contains the specified element.

6

void ensureCapacity(int minCapacity)

This increases the capacity of this ArrayList.

7

E get(int index)

This method returns the element at the specified position in this list.

8

int indexOf(Object o)

This method returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.

9

boolean isEmpty()

This method returns true if this list contains no elements.

10

Iterator<E> iterator()

This method returns an iterator over the elements in this list in proper sequence.

11

int lastIndexOf(Object o)

This method returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.

12

ListIterator<E> listIterator()

This method returns an list iterator over the elements in this list in proper sequence.

13

E remove(int index)

This method removes the element at the specified position in this list.

14

boolean removeAll(Collection<?> c)

Removes from this list all of its elements that are contained in the specified collection.

15

protected void removeIf(int fromIndex, int toIndex)

This method Removes all of the elements of this collection that satisfy the given predicate.

16

boolean retainAll(Collection<?> c)

Retains from this list all of its elements that are contained in the specified collection.

17

E set(int index, E element)

This method replaces the element at the specified position in this list with the specified element.

18

int size()

This method returns the number of elements in this list.

19

Spliterator<E> spliterator()

This method creates a late-binding and fail-fast Spliterator over the elements in this list.

20

List<E> subList(int fromIndex, int toIndex)

This method returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.

21

Object[] toArray()

This method returns an array containing all of the elements in this list in proper sequence (from first to last element).

22

void trimToSize()

This method trims the capacity of this ArrayList instance to be the list's current size.

Methods Inherited

This class inherits methods from the following classes −

  • java.util.AbstractList

  • java.lang.AbstractCollection

  • java.util.Object

  • java.util.List

ArrayList Class Example

This Java program illustrates several of the methods supported by ArrayList −

import java.util.*;
public class ArrayListDemo {

   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());

      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());

      // display the array list
      System.out.println("Contents of al: " + al);

      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

This will produce the following result −

Initial size of al: 0
Size of al after additions: 7
Contents of al: [C, A2, A, E, B, D, F]
Size of al after deletions: 5
Contents of al: [C, A2, E, B, D]
Advertisements