Difference Between Array and ArrayList In Java

Array vs Arraylist

What is Array and Array List In Java?

The Difference Between Array and ArrayList In Java where Array is a group of items of the same type that are stored together in a single memory location. Each item can be accessed by its position number, which starts from 0 and goes up to the total number of items minus one.

An ArrayList is a type of data structure in Java that can change its size based on the number of elements it holds. It is built as an array that can be resized, allowing you to add or remove items at any position in the list. The Java Collections Framework includes many helpful methods for managing the items in an ArrayList.

To Understand the Difference Between Array and ArrayList In Java, Read The Complete Article.

Methods of Creating Array

  • Declaring an array with a specified size and initializing its elements:
  • Declaring and initializing an array in one line:
  • Creating a copy of an existing array:
  • Using the Arrays.fill() method to initialize all elements of an array to a specified value:
  • Declaring and initializing a multi-dimensional array:
datatype[] arrayName = new datatype[arraySize];

Methods of Creating ArrayList

  • Creating an empty ArrayList and adding elements to it:
  • Creating an ArrayList with initial capacity and adding elements to it:
  • Creating an ArrayList from an existing collection:
  • Creating an ArrayList using the Collections.nCopies() method:
  • Creating a read-only ArrayList using the Collections.unmodifiableList() method:
ArrayList arrayListName = new ArrayList<>();

A table comparing the Differences between Array and ArrayList In Java 

Difference Array ArrayList
Size Fixed Dynamic
Memory Contiguous Non-Contiguous
Resizing Cannot resize Resizes automatically
Insertion/Deletion Inefficient due to element shifting Efficient due to dynamic resizing
Access Direct access by index Access through method calls
Type Can hold primitives and objects Can only hold objects
Convenience No built-in methods for manipulation Built-in methods for adding, removing, and sorting elements

Let’s look at the Difference between Array and ArrayList In Java to perform certain operations.

Example 1: How to create an Array?

Run
public class Main
{
  
public static void main (String[]args)
  {
    
int[] myArray = new int[5];
     
myArray[0] = 1;
     
myArray[1] = 2;
     
myArray[2] = 3;
     
myArray[3] = 4;
     
myArray[4] = 5;
     

System.out.print ("The elements of the array are: ");
     
for (int i = 0; i < myArray.length; i++)
      {
	
System.out.print (myArray[i] + " ");

} 
} 
} 

Output

The elements of the array are: 1 2 3 4 5 
Difference Between Array and ArrayList

Example 2 : Java Program to create two dimentional array

Run
import java.util.ArrayList;


public class Main
{

  public static void main (String[]args)
  {

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

    myArrayList.add ("Prep");

    myArrayList.add ("Insta");

    myArrayList.add ("Prime");


    System.out.print ("The elements of the ArrayList are: ");

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

	System.out.print (myArrayList.get (i) + " ");

      }
  }
}

Output

The elements of the ArrayList are: Prep Insta Prime 

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Question 1.Which is faster, arrays or ArrayLists? 

Arrays are generally faster than ArrayLists because they are a simpler data structure with less overhead.

Arrays are fixed in size, which means memory is allocated all at once, while ArrayLists may need to reallocate memory as they grow.

Accessing elements in an array is faster than accessing elements in an ArrayList because arrays store elements in contiguous memory locations, while an ArrayList may store elements in different parts of memory.

the performance difference between arrays and ArrayLists may not be significant for small collections, and the convenience of using an ArrayList may outweigh any performance considerations in certain situations.

Question 2. How are arrays and ArrayLists different?

Size: Arrays have a fixed size, while ArrayLists can grow or shrink dynamically.

Memory allocation: Arrays allocate memory all at once when they are created, while ArrayLists may need to reallocate memory as they grow.

Contiguity of memory: Arrays store elements in contiguous memory locations, while an ArrayList may store elements in different parts of memory

Question 3. When should you use an array instead of an ArrayList?

Arrays should be used instead of ArrayLists when you need to store a fixed number of elements and their size won’t change during the lifetime of the program. Arrays are simpler, more efficient, and offer direct index access to elements.

They can be used for simple collections, and may have better performance than ArrayLists for small collections that don’t need to be resized frequently.

Question 4.When should you use an ArrayList instead of an array? 

Using an ArrayList instead of an array when you need a dynamic collection that can grow or shrink in size during the lifetime of the program. ArrayLists offer convenient methods for adding, removing, and manipulating elements, making them suitable for complex collections.

They are also useful when the size of the collection is unknown, as they can automatically resize as needed.

However, ArrayLists are less efficient than arrays for small collections, and may require more memory due to their dynamic nature.

Question 5. How do you initialize the elements of an array

To initialize the elements of an array, you can assign a value to each element when you create the array. You can also use a loop to set the value of each element after the array has been created. When initializing, make sure to specify the size of the array and the data type of the elements. Additionally, you can use the “Arrays.fill()” method to set all elements of an array to a specified value.

Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription