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
.
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:
Removing Element from ArrayList:
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:
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 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:
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
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
R Pantera says
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.
Chaitanya Singh says
Thanks for the appreciation. Glad you liked it.
BabaG says
Please how do I get the pdf of your material. Thank a lot
Santosh says
Hi ,
The examples and concepts are explained very nicely and well organized.
Thank you!!
Venkat says
Hi sir! ur way of explanation awesome.this site is best for the java beginners .keep posting…
Rahul Raaj Jamuar says
Thank you so much for posting these contents. The examples given here are best to understand any concept. Keep adding more examples. Thanks again :)
Abel says
Friend,I am not able to Command Array List showing me error: The type ArrayList is not generic; it cannot be parameterized with arguments
Priya says
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.
Jai says
Example are clear and easy to understand quickly.
The way of presentation is really very nice.
Thanks ?
TOSYN says
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.
veeresh says
Hi, things here are very clear to understand. It is very good for the beginners like me.
Arun Singh says
why can’t we add elements outside of main() method?
sid says
say there are duplicate elements in the list. If I call the method remove(), then will it remove all the duplicate elements?
unu` says
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. :)
prasanth says
The element that was spotted first will be removed with remove() method.The rest of duplicate elements remain in the list.
prasanth says
No.It will not remove all the duplicate elements.remove() method will remove the element specified which occurs at the first instance.
Archana says
it’s really very helpful to understand within less Time..too Good :)
Madhu says
It helped me a lot …concepts are very clear
David says
So glad i came here, please do you have learning Java as a whole in PDF format?
Hans Raj says
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
nivedita says
how to create customized collection that accepts only positive numbers as input
vedavathi J Reddy says
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.
Santosh says
Nice concept explanation step by step.
pics cua says
wow thanks very much. It’s really helpful. So how can i access it in pdf
shanthi says
is there any method that removes all elements matching the given element(including duplicates)in collection framework.
please advise.
Emad Beltaje says
Thank you very very very much..for sharing ur knowledge with us with great style
#Respect_From_Palestine <3
DHARMENDHAR says
Such A Lovely Explanations , i had suggested all my friends for Beginnerbooks.com
Thank you Team.
God Bless You
MRC says
May I add an element in a single line? Is possible
M Ravichandran says
How to add number elements in a single line of code?
Mayur Kandalkar says
amazing explanation!
Kokila Viswanathan says
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..
Anold says
Where can i find Java array of Objects, help me please
Carlos Mercado says
Good job. Thanks for the help from Argentina!
Shalala says
This is really awasome site for who want to learn better. Thank you for creating this site.
Noah Moud says
Really cool,, thank you!
Are you planning on adding JavaScript to your languages?
Himanshu Gangwar says
Very helpful thanks. A crores of time sir