beginnersbook.com

  • Home
  • All Tutorials
    • Learn Servlet
    • Learn JSP
    • Learn JSTL
    • Learn C
    • Learn C++
    • Learn MongoDB
    • Learn XML
    • Learn Python
    • Learn Perl
    • Learn Kotlin
    • Learn jQuery
  • Core Java
  • OOPs
  • Collections
  • Java I/O
  • JSON
  • DBMS

ArrayList in java with example programs – Collections Framework

By Chaitanya Singh | Filed Under: Java Collections

Arraylist class implements List interface and it is based on an Array data structure. It is widely used because of the functionality and flexibility it offers. Most of the developers choose Arraylist over Array as it’s a very good alternative of traditional java arrays. ArrayList is a resizable-array implementation of the List interface. It implements all optional list operations, and permits all elements, including null.

Java ArrayList

Table of Contents

1. Why ArrayList better than Array?
2. Create ArrayList
3. Add element
4. Change an element
5. Remove element
6. Loop ArrayList
7. ArrayList size
8. A simple example of ArrayList
9. Sort ArrayList
10. Methods of ArrayList class
11. Links of 50+ Tutorials and examples published on this website

Why ArrayList is better than Array?

The limitation with array is that it has a fixed length so if it is full you cannot add any more elements to it, likewise if there are number of elements gets removed from it the memory consumption would be the same as it doesn’t shrink.

On the other ArrayList can dynamically grow and shrink after addition and removal of elements (See the images below). Apart from these benefits ArrayList class enables us to use predefined methods of it which makes our task easy. Let’s see the diagrams to understand the addition and removal of elements from ArrayList and then we will see the programs.

Adding Element in ArrayList at specified position:
Java ArrayList - Adding element

Removing Element from ArrayList:
ArrayList in Java - Removing Element

There is a list of several tutorials on ArrayList at the end of this guide, refer it to understand and learn ArrayList concept fully.

How to create an ArrayList?

We can create an ArrayList by writing a simple statement like this:

This statement creates an ArrayList with the name alist with type “String”. The type determines which type of elements the list will have. Since this list is of “String” type, the elements that are going to be added to this list will be of type “String”.

ArrayList<String> alist=new ArrayList<String>();

Similarly we can create ArrayList that accepts int elements.

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

How to add elements to an ArrayList?

We add elements to an ArrayList by using add() method, this method has couple of variations, which we can use based on the requirement. For example: If we want to add the element at the end of the List then simply do it like this:

alist.add("Steve"); //This will add "Steve" at the end of List

To add the element at the specified location in ArrayList, we can specify the index in the add method like this:

alist.add(3, "Steve"); //This will add "Steve" at the fourth position

Lets write the complete code:

import java.util.*;  
class JavaExample{  
   public static void main(String args[]){  
      ArrayList<String> alist=new ArrayList<String>();  
      alist.add("Steve");
      alist.add("Tim");
      alist.add("Lucy");
      alist.add("Pat");
      alist.add("Angela");
      alist.add("Tom");
  
      //displaying elements
      System.out.println(alist);
  
      //Adding "Steve" at the fourth position
      alist.add(3, "Steve");
  
      //displaying elements
      System.out.println(alist);
   }  
}

Output:

[Steve, Tim, Lucy, Pat, Angela, Tom]
[Steve, Tim, Lucy, Steve, Pat, Angela, Tom]

Note: Since the index starts with 0, index 3 would represent fourth position not 3.

Change an element in ArrayList

We can use the set method to change an element in ArrayList. We provide the index and new element, this method then updates the element present at the given index with the new given element. In the following example, we have given the index as 0 and new element as “Lucy” in the set() method, so the method updated the element present at the index 0 (which is the first element “Jim” in this example) with the new String element “Lucy”, which we can see in the output.

import java.util.ArrayList;
public class JavaExample {
   public static void main(String[] args) {
      ArrayList<String> names = new ArrayList<String>();
      names.add("Jim");
      names.add("Jack");
      names.add("Ajeet");
      names.add("Chaitanya");
      names.set(0, "Lucy");
      System.out.println(names);
   }
}

Output:
Change an item in ArrayList

How to remove elements from ArrayList?

We use remove() method to remove elements from an ArrayList, Same as add() method, this method also has few variations.

For example:

import java.util.*;
class JavaExample{
   public static void main(String args[]){
      ArrayList<String> alist=new ArrayList<String>(); 
      alist.add("Steve");
      alist.add("Tim");
      alist.add("Lucy");
      alist.add("Pat");
      alist.add("Angela");
      alist.add("Tom");

      //displaying elements
      System.out.println(alist);

      //Removing "Steve" and "Angela"
      alist.remove("Steve");
      alist.remove("Angela");

      //displaying elements
      System.out.println(alist);

      //Removing 3rd element
      alist.remove(2);

      //displaying elements
      System.out.println(alist);
   }
}

Output:

[Steve, Tim, Lucy, Pat, Angela, Tom]
[Tim, Lucy, Pat, Tom]
[Tim, Lucy, Tom]

Iterating ArrayList

In the above examples, we have displayed the ArrayList elements just by referring the ArrayList instance, which is definitely not the right way to displays the elements. The correct way of displaying the elements is by using an advanced for loop like this.

import java.util.*;  
class JavaExample{  
  public static void main(String args[]){  
     ArrayList<String> alist=new ArrayList<String>();  
     alist.add("Gregor Clegane");  
     alist.add("Khal Drogo");  
     alist.add("Cersei Lannister");  
     alist.add("Sandor Clegane"); 
     alist.add("Tyrion Lannister");
  
     //iterating ArrayList
     for(String str:alist)  
        System.out.println(str);  
     }  
}

Output:

Gregor Clegane
Khal Drogo
Cersei Lannister
Sandor Clegane
Tyrion Lannister

ArrayList Size

We can use size() method of ArrayList to find the number of elements in an ArrayList.

import java.util.ArrayList;

public class JavaExample {
   public static void main(String[] args) {
      ArrayList<Integer> numbers = new ArrayList<Integer>();
      numbers.add(1);
      numbers.add(7);
      numbers.add(5);
      numbers.add(6);
      System.out.println("Number of elements in ArrayList: "+numbers.size());
   }
}

Output:
ArrayList Size

ArrayList Example in Java

This example demonstrates how to create, initialize, add and remove elements from ArrayList. In this example we have an ArrayList of type “String”. We have added 5 String element in the ArrayList using the method add(String E), this method adds the element at the end of the ArrayList.

We are then adding two more elements in the ArrayList using method add(int index, String E), this method adds the specified element at the specified index, index 0 indicates first position and 1 indicates second position.

We are then removing the elements “Chaitanya” and “Harry” from the ArrayList and then we are removing the second element of the ArrayList using method remove(int index). Since we have specified the index as 1 (remove(1)), it would remove the second element.

import java.util.*;

public class JavaExample {
   public static void main(String args[]) {
      /* Creating ArrayList of type "String" which means
       * we can only add "String" elements
       */
      ArrayList<String> obj = new ArrayList<String>();

      /*This is how we add elements to an ArrayList*/
      obj.add("Ajeet");
      obj.add("Harry");
      obj.add("Chaitanya");
      obj.add("Steve");
      obj.add("Anuj");

      // Displaying elements
      System.out.println("Original ArrayList:");
      for(String str:obj)
         System.out.println(str);

      /* Add element at the given index
       * obj.add(0, "Rahul") - Adding element "Rahul" at first position
       * obj.add(1, "Justin") - Adding element "Justin" at second position
       */
      obj.add(0, "Rahul");
      obj.add(1, "Justin");

      // Displaying elements
      System.out.println("ArrayList after add operation:");
      for(String str:obj)
         System.out.println(str);

      //Remove elements from ArrayList like this
      obj.remove("Chaitanya"); //Removes "Chaitanya" from ArrayList
      obj.remove("Harry"); //Removes "Harry" from ArrayList

      // Displaying elements
      System.out.println("ArrayList after remove operation:");
      for(String str:obj)
         System.out.println(str);

      //Remove element from the specified index
      obj.remove(1); //Removes Second element from the List

      // Displaying elements
      System.out.println("Final ArrayList:");
      for(String str:obj)
         System.out.println(str);
   }
}

Output:
Original ArrayList:
Ajeet
Harry
Chaitanya
Steve
Anuj
ArrayList after add operation:
Rahul
Justin
Ajeet
Harry
Chaitanya
Steve
Anuj
ArrayList after remove operation:
Rahul
Justin
Ajeet
Steve
Anuj
Final ArrayList:
Rahul
Ajeet
Steve
Anuj

Sort ArrayList

We have a sort() method in the Collections class. This class is is a part of java.util package. This method can be used to sort an ArrayList. In the following example we have sorted a list of String type alphabetically, however this method works on numeric list (such as Integer type ArrayList) as well.

import java.util.ArrayList;
import java.util.Collections;

public class JavaExample {
   public static void main(String[] args) {
      ArrayList<String> fruits = new ArrayList<String>();
      fruits.add("Orange");
      fruits.add("Apple");
      fruits.add("Banana");
      fruits.add("Pineapple");
      Collections.sort(fruits);

      for (String str : fruits) {
         System.out.println(str);
      }
   }
}

Output:
Sort ArrayList

Methods of ArrayList class

In the above example we have used methods such as add() and remove(). However there are number of methods available which can be used directly using object of ArrayList class. Let’s discuss few important methods of ArrayList class.

1) add( Object o): This method adds an object o to the arraylist.

obj.add("hello");

This statement would add a string hello in the arraylist at last position.

2) add(int index, Object o): It adds the object o to the array list at the given index.

obj.add(2, "bye");

It will add the string bye to the 2nd index (3rd position as the array list starts with index 0) of array list.

3) remove(Object o): Removes the object o from the ArrayList.

obj.remove("Chaitanya");

This statement will remove the string “Chaitanya” from the ArrayList.

4) remove(int index): Removes element from a given index.

obj.remove(3);

It would remove the element of index 3 (4th element of the list – List starts with o).

5) set(int index, Object o): Used for updating an element. It replaces the element present at the specified index with the object o.

obj.set(2, "Tom");

It would replace the 3rd element (index =2 is 3rd element) with the value Tom.

6) int indexOf(Object o): Gives the index of the object o. If the element is not found in the list then this method returns the value -1.

int pos = obj.indexOf("Tom");

This would give the index (position) of the string Tom in the list.

7) Object get(int index): It returns the object of list which is present at the specified index.

String str= obj.get(2);

Function get would return the string stored at 3rd position (index 2) and would be assigned to the string “str”. We have stored the returned value in string variable because in our example we have defined the ArrayList is of String type. If you are having integer array list then the returned value should be stored in an integer variable.

8) int size(): It gives the size of the ArrayList – Number of elements of the list.

int numberofitems = obj.size();

9) boolean contains(Object o): It checks whether the given object o is present in the array list if its there then it returns true else it returns false.

obj.contains("Steve");

It would return true if the string “Steve” is present in the list else we would get false.

10) clear(): It is used for removing all the elements of the array list in one go. The below code will remove all the elements of ArrayList whose object is obj.

obj.clear();

Java ArrayList Tutorials

Here is the list of ArrayList tutorials published on beginnersbook.com.

ArrayList Basics

  • Initialize ArrayList
  • Loop ArrayList
  • Find length of ArrayList

Sorting

  • Sort ArrayList
  • Sort ArrayList in Descending order
  • Sort ArrayList of Objects using Comparable and Comparator

Add/Remove

  • Add element to ArrayList
  • Add element at particular index of ArrayList
  • Append Collection elements to ArrayList
  • Copy All List elements to ArrayList
  • Insert all the collection elements to the specified position in ArrayList
  • Remove element from the specified index in ArrayList
  • Remove specified element from ArrayList

Get/Search

  • Get Sub List of ArrayList
  • Get the index of last occurrence of the element in the ArrayList
  • Get element from ArrayList
  • Get the index of  first occurrence of the element in the ArrayList
  • Check whether element exists in ArrayList

Other Tutorials on ArrayList

  • Compare two ArrayList
  • Synchronize ArrayList
  • Swap two elements in ArrayList
  • Override toString() method – ArrayList
  • Serialize ArrayList
  • Join two ArrayList
  • Clone ArrayList to another ArrayList
  • Make ArrayList Empty
  • Check whether ArrayList is empty or not
  • Trim the Size of ArrayList
  • Replace the value of existing element in ArrayList
  • Increase the capacity(size) of ArrayList

Conversions:

  • Convert LinkedList to ArrayList
  • Convert Vector to ArrayList
  • Convert ArrayList to String Array
  • Convert Array to ArrayList
  • Convert HashSet to ArrayList

Differences:

  • ArrayList vs Vector
  • ArrayList vs HashMap
  • ArrayList vs LinkedList

Reference

  • ArrayList Documentation

Comments

  1. R Pantera says

    November 17, 2014 at 3:36 AM

    Thank you very much for your Beginner’s Book. It is better than any other source I have found for a Java beginner. The examples are especially helpful. I wish you success.

    Reply
    • Chaitanya Singh says

      November 18, 2014 at 4:50 AM

      Thanks for the appreciation. Glad you liked it.

      Reply
      • BabaG says

        July 26, 2015 at 1:24 AM

        Please how do I get the pdf of your material. Thank a lot

        Reply
  2. Santosh says

    January 9, 2015 at 9:52 AM

    Hi ,
    The examples and concepts are explained very nicely and well organized.
    Thank you!!

    Reply
  3. Venkat says

    March 27, 2015 at 7:33 AM

    Hi sir! ur way of explanation awesome.this site is best for the java beginners .keep posting…

    Reply
  4. Rahul Raaj Jamuar says

    March 31, 2015 at 9:25 AM

    Thank you so much for posting these contents. The examples given here are best to understand any concept. Keep adding more examples. Thanks again :)

    Reply
  5. Abel says

    April 9, 2015 at 7:13 AM

    Friend,I am not able to Command Array List showing me error: The type ArrayList is not generic; it cannot be parameterized with arguments

    Reply
    • Priya says

      April 11, 2015 at 7:55 AM

      I suspect you imported some different ArrayList class in your classpath.Try import java.util.ArrayList, and I’m sure it would certainly work. Check your Java version as well, ArrayList is not a legacy class so it might support from JDK 1.5
      Priya.

      Reply
  6. Jai says

    August 21, 2015 at 4:54 PM

    Example are clear and easy to understand quickly.
    The way of presentation is really very nice.
    Thanks ?

    Reply
  7. TOSYN says

    September 30, 2015 at 9:25 AM

    i just stumbled on your website on google, never knew this kind of well explanatory java website exist. Your topics are truly helpful for a java starter(Beginners). i will directed my beginners here.Thanks to you.

    Reply
  8. veeresh says

    February 2, 2016 at 3:52 AM

    Hi, things here are very clear to understand. It is very good for the beginners like me.

    Reply
  9. Arun Singh says

    April 21, 2016 at 3:20 AM

    why can’t we add elements outside of main() method?

    Reply
  10. sid says

    May 20, 2016 at 11:00 AM

    say there are duplicate elements in the list. If I call the method remove(), then will it remove all the duplicate elements?

    Reply
    • unu` says

      June 6, 2016 at 7:47 PM

      I tried to do this and for example if you have it like this:

      If you have the ArrayList created let`s say like this:

      ArrayList list = new ArrayList();

      and you set it like this:

      position 0 – “John”
      1 – “Michael”
      2 – “Mitch”
      3 – “Gus”
      4 – “John”
      5 – “Johnny”

      if you say: list.remove(“John”); then it will remove its first occurance.

      So, the new elements will be like this:

      0 – “Michael”
      1 – “Mitch”
      2 – “Gus”
      3 – “John”
      4 – “Johnny”

      I hope I was clear enough. :)

      Reply
      • prasanth says

        June 21, 2018 at 9:34 AM

        The element that was spotted first will be removed with remove() method.The rest of duplicate elements remain in the list.

        Reply
    • prasanth says

      June 21, 2018 at 10:09 AM

      No.It will not remove all the duplicate elements.remove() method will remove the element specified which occurs at the first instance.

      Reply
  11. Archana says

    August 3, 2016 at 2:02 PM

    it’s really very helpful to understand within less Time..too Good :)

    Reply
    • Madhu says

      December 8, 2019 at 5:37 AM

      It helped me a lot …concepts are very clear

      Reply
  12. David says

    February 9, 2017 at 11:09 AM

    So glad i came here, please do you have learning Java as a whole in PDF format?

    Reply
  13. Hans Raj says

    August 31, 2017 at 4:53 AM

    I want to compare arraylist with my string input in if statement. if condition becomes true then it return me the element or string which i compared in if statement.
    Please help.
    thanks in advance

    Reply
  14. nivedita says

    January 7, 2018 at 6:59 AM

    how to create customized collection that accepts only positive numbers as input

    Reply
  15. vedavathi J Reddy says

    September 18, 2018 at 2:47 PM

    No words to say, That much your tutorials are impressing. i can get everything in single website, which is very great thing.
    its really helpfull to add spring and hibernate with this page.

    Reply
  16. Santosh says

    October 12, 2018 at 1:24 PM

    Nice concept explanation step by step.

    Reply
  17. pics cua says

    October 12, 2018 at 3:42 PM

    wow thanks very much. It’s really helpful. So how can i access it in pdf

    Reply
  18. shanthi says

    November 12, 2018 at 12:53 PM

    is there any method that removes all elements matching the given element(including duplicates)in collection framework.
    please advise.

    Reply
  19. Emad Beltaje says

    November 23, 2018 at 6:48 PM

    Thank you very very very much..for sharing ur knowledge with us with great style
    #Respect_From_Palestine <3

    Reply
  20. DHARMENDHAR says

    December 28, 2018 at 4:52 PM

    Such A Lovely Explanations , i had suggested all my friends for Beginnerbooks.com
    Thank you Team.
    God Bless You

    Reply
  21. MRC says

    March 7, 2019 at 8:05 AM

    May I add an element in a single line? Is possible

    Reply
  22. M Ravichandran says

    March 7, 2019 at 8:07 AM

    How to add number elements in a single line of code?

    Reply
  23. Mayur Kandalkar says

    April 21, 2019 at 9:52 AM

    amazing explanation!

    Reply
  24. Kokila Viswanathan says

    May 12, 2019 at 11:34 AM

    Really really very very good tutorial for beginners..Please read this tutorial if any one want to know clear idea about collections…After reading this tutorial 90% of ideas you can get in collections and am damn sure..

    Reply
  25. Anold says

    September 2, 2019 at 1:50 PM

    Where can i find Java array of Objects, help me please

    Reply
  26. Carlos Mercado says

    September 19, 2019 at 3:13 PM

    Good job. Thanks for the help from Argentina!

    Reply
  27. Shalala says

    October 28, 2019 at 8:41 AM

    This is really awasome site for who want to learn better. Thank you for creating this site.

    Reply
  28. Noah Moud says

    February 5, 2020 at 8:15 PM

    Really cool,, thank you!
    Are you planning on adding JavaScript to your languages?

    Reply
  29. Himanshu Gangwar says

    February 28, 2020 at 6:20 PM

    Very helpful thanks. A crores of time sir

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Java Tutorial

  • Java Tutorial
  • OOPs Concepts

Java Collections

  • ArrayList
  • LinkedList
  • ArrayList vs LinkedList
  • Vector
  • ArrayList vs Vector
  • HashMap
  • TreeMap
  • LinkedHashMap
  • HashSet
  • TreeSet
  • LinkedHashSet
  • Hashtable
  • HashMap vs Hashtable
  • Queue
  • PriorityQueue
  • Deque & ArrayDeque
  • Iterator
  • ListIterator
  • Comparable Interface
  • Comparator Interface
  • Java Collections Interview Q

MORE ...

  • Java String
  • Exception handling
  • Java Multithreading
  • Java I/O
  • Java Serialization
  • Java Regex
  • Java AWT
  • Java Swing
  • Java Enum
  • Java Annotations

Copyright © 2012 – 2022 BeginnersBook . Privacy Policy . Sitemap