Java ArrayList print all elements

In this post, we will see how to print ArrayList in java.

Java has Array, and it’s a very powerful data structure, but Array has its own set of limitations. The ArrayList data structure was introduced to overcome these limitations.
Before we proceed with our topic, let me quickly brief you with ArrayList.

ArrayList Introduction

ArrayList is an advanced version of Array, as it allows us to implement resizable arrays. Apart from this, ArrayList is a part of Java collections, and it implements Java List. Though ArrayList is the advanced version of array, ArrayList is less efficient than basic arrays in terms of time optimization.

Since we are not focusing on ArrayList Introduction, I have kept it straight and simple; if you are interested in learning more about ArrayList, you can refer ArrayList in java.

6 Ways to Print ArrayList in Java

Yes, you read it right! Fortunately, there isn’t a single way to print ArrayList elements. Though there are dozens of different ways, I’ll cover the three most popular ones in this guide.

In the for loop, we are iterating upto the size() of Arraylist. In each iteration, using the get() method of ArrayList, we are retrieving individual element. Finally, with the help of System.out.println statements, we will print those elements.

Have a look at the illustration:

package org.arpit.java2blog;

import java.util.ArrayList;

public class PrintArrayListMain {

    public static void main(String[] args) {

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

        System.out.println("Elements of ArrayList are:");

        for (int i = 0; i < arl.size(); i++) {

            System.out.println(arl.get(i) + " ");

Output:

Elements of ArrayList are: Hyundai Kia Tesla

MG

This method is almost identical to the previous one; the only difference here is that we will use the advanced loop method. So, instead of the basic for loop, we will implement its advanced version with some different attributes.

Refer to the illustration below:

package org.arpit.java2blog;

import java.util.ArrayList;

public class PrintArrayListMain {

    public static void main(String[] args) {

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

        arrayList.add("Australia");

        System.out.println("Elements of ArrayList are:");

        for (String ele : arrayList) {

Output:

Elements of ArrayList are: India Australia Sudan

Norway

If you look at the above two methods, you will notice only a few noticeable differences, but in terms of working, both these methods are very different.

In the first method, for loop was retrieving the total size, and using that size, the index was evaluated, and later element was accessed. But in this method, every ArrayList element is directly assessed serially using a String variable.

💡 Did you know?

You can not modify ArrayList while iterating using for each loop, Otherwise it will throw Exception.

So far, we have used basic loop concepts to print the ArrayList element, but in this method, we will use the Iterators; these are a part of the java collection framework. In this method, we are going to use the following method of Interators

  • Iterator(): it returns an iterator for the ArrayList.
  • hasNext(): Performs a check on the ArrayList to find whether next element is present or not.
  • next(): Accesses the elements of ArrayList

Besides these three methods, we will also use the While loop to iterate the element checking step.

Refer to the illustration below:

package org.arpit.java2blog;

import java.util.ArrayList;

import java.util.Iterator;

public class PrintArrayListMain {

    public static void main(String args[])

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

        System.out.println("Elements of ArrayList are:");

        Iterator<String> arItr = arList.iterator();

            String ele = arItr.next();

Output:

Elements of ArrayList are: MacOS Windows ChromeOS Linux

Ubuntu

If you don’t want to use While loop in the above program, you can use the for loop.

You can also use ListIterator rather than Iterator to print ArrayList in java.

With ListIterator, you can traverse in front and back directions.
Let’s see with the help of example:

package org.arpit.java2blog;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.ListIterator;

public class PrintArrayListMain {

    public static void main(String args[])

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

        citiesList.add("Mumbai");

        citiesList.add("New york");

        System.out.println("Elements of ArrayList are:");

        ListIterator<String> listItr = citiesList.listIterator();

            String ele = listItr.next();

        System.out.println("Elements of ArrayList in reverse order are:");

        ListIterator<String> listItr2 = citiesList.listIterator(citiesList.size());

        while(listItr2.hasPrevious())

            String ele = listItr2.previous();

Output:

Elements of ArrayList are: Delhi Mumbai Paris Rome New york Elements of ArrayList in reverse order are: New york Rome Paris Mumbai

Delhi

You can use Java 8 Stream‘s foreach loop to print ArrayList in java.

Here is an simple example:

package org.arpit.java2blog;

import java.util.ArrayList;

public class PrintArrayListMain {

    public static void main(String args[])

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

        System.out.println("Elements of ArrayList are:");

Output:

Elements of ArrayList are: Apple Banana Grapes

Orange

If you just want to print ArrayList on console, you can directly print it using its reference. It will call toString() method internally of type of ArrayList(String in this example).

package org.arpit.java2blog;

import java.util.ArrayList;

public class PrintArrayListMain {

    public static void main(String args[])

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

Output:

Elements of ArrayList are:[Apple, Banana, Grapes, Orange]

If you have custom object in ArrayList, then you may need to implement toString() method in the custom object to print ArrayList properly.

Let’s see with the help of example:
Create a class named Student with name and age attributes.

package org.arpit.java2blog;

    public Student(String name, int age) {

    public String getName() {

    public void setName(String name) {

    public void setAge(int age) {

Create main class PrintArrayListStudentMain.java which we will use to print the ArrayList

package org.arpit.java2blog;

import java.util.ArrayList;

public class PrintArrayListStudentMain {

    public static void main(String[] args) {

        ArrayList<Student> studentsList=new ArrayList<>();

        Student s1=new Student("John",12);

        Student s2=new Student("Martin",11);

        Student s3=new Student("Mary",10);

        Student s4=new Student("Sneha",13);

Output:

If you notice the output, it is printing unreadble String because we did not implement toString() method in Student class.

Let’s implement toString() method in Student class.

package org.arpit.java2blog.entry;

    public Student(String name, int age) {

    public String getName() {

    public void setName(String name) {

    public void setAge(int age) {

    public String toString() {

Now, run PrintArrayListStudentMain.java again and you will get below output:

Student List:[Student{name=’John’, age=12}, Student{name=’Martin’, age=11}, Student{name=’Mary’, age=10}, Student{name=’Sneha’, age=13}]

As you can see, we are able to print ArrayList in readable format now.

Conclusion

That’s how you print ArrayList elements using these three different methods quite easily. Apart from these three methods, you can come up with your method, do let us know. If you run into some errors, you can drop down your queries and we will discuss them further.

That’s all about how to print ArrayList in java.