• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

SoftwareTestingo - Jira Selenium Protractor Testing SDLC Agile Methodology

Java Selenium Tutorial & Testing Interview Questions

  • Home
  • Interview Questions
  • Java
  • Java Programs
  • Test Cases
  • Selenium
  • Manual Testing
  • Difference
  • Search
SoftwareTestingo » Difference » Difference Between Array vs ArrayList in Java

Difference Between Array vs ArrayList in Java

Last Updated on: November 29, 2019 By Softwaretestingo Editorial Board

What We Are Learn On This Post

  • The difference will be based on the following parameters:
  • Array vs ArrayList in Java
  • Example of Array vs ArrayList in Java
  • Example 1: Arrays Sort operation
  • Example 2: ArrayList operation

Difference Between Array vs ArrayList in Java: In this article, we will discuss the difference between Arrays and ArrayList in detail i.e.; Array vs ArrayList in Java

ArrayList Vs Vector In Java

The difference will be based on the following parameters:

  • Size (fixed or variable)
  • Data type to be stored (primitive type or Object)
  • Data-type bounded using Generics
  • Adding or inserting or assigning elements
  • Length or size
  • Iterating through the elements

Lets us move on and discuss the key differences between these Array vs ArrayList in Java;

Array vs ArrayList in Java

Arrays
ArrayList
Arrays are fixed in length for example,
int arr = new int[7];
ArrayList uses a dynamic resizable/grow-able array for example,
ArrayList al = new ArrayList();
It allows storing primitive types & Objects It allows storing the only Object whereas primitive types like int, float, double, etc aren’t allowed but its equivalent wrapper Object types like Integer, Float, Double, etc are allowed
While adding elements to Array, a type is bounded i.e.; it allows to store element of any specific data-type or specific class trying to add another data-type, other than declared data-type results in throwing ArrayStoreException at runtime Using Generics while declaring ArrayList makes it is type-bounded i.e.; if ArrayList is declared to accept only String or any specific class then adding any other type results in throwing a compile-time error
Storing elements inside Array is easy, as simple assignment operator is enough for example, intArr[0] = 10; For adding element to ArrayList, use add() or addAll()methods of java.util.Collection interface
For Array, length variable provides the length of an Array For ArrayList, size() method of java.util.Collection interface can be used to determine the size of an ArrayList
For Array iteration, use the following options

  1. for-loop
  2. enhanced for-loop
For ArrayList iteration, use the following options

  1. for-loop
  2. enhanced for-loop
  3. Iterator
  4. ListIterator
  5. forEach from Java 8
Performance-wise, it always stays constant over time add() & get() operations nearly provide the same performance as that of ArrayBut with modifying operation like deletion will yield poor performance because it involves a lot of shifting

With capacity reaching maximum will result in again poor performance as it involves copying data from the old array into the new array

Example: Refer Arrays for details Example: Refer ArrayList for details

Example of Array vs ArrayList in Java

Example 1: Arrays Sort operation

PrimitveNaturalSortingOfArrays.java

package in.bench.resources.java.collection;
import java.util.Arrays;
public class PrimitveNaturalSortingOfArrays 
{
   public static void main(String[] args) 
   {
      Integer[] intArrays = {31, 83, 53, 97, 29, 7, 13,  47, 79};
      String[] strArrays = {"Karthi", "Vikram", "Vijay","Simbhu", "Suriya", "Ajith"};
      System.out.println("Before sorting: Integer Arrays\n");
      // printing Integer Arrays
      System.out.println(Arrays.toString(intArrays));
      // sorting Arrays using
      Arrays.sort(intArrays);
      System.out.println("\nAfter sorting: Integer Arrays\n");
      // printing Integer Arrays
      System.out.println(Arrays.toString(intArrays));
      System.out.println("\n\n\nBefore sorting: String Arrays\n");
      // printing Integer Arrays
      System.out.println(Arrays.toString(strArrays));
      // sorting Arrays using
      Arrays.sort(strArrays);
      System.out.println("\nAfter sorting: String Arrays\n");
      // printing Integer Arrays
      System.out.println(Arrays.toString(strArrays));
   }
}

Output:

Before sorting: Integer Arrays 
[31, 83, 53, 97, 29, 7, 13, 47, 79]
 
After sorting: Integer Arrays 
[7, 13, 29, 31, 47, 53, 79, 83, 97]
 
 Before sorting: String Arrays
[Karthi, Vikram, Vijay, Simbhu, Suriya, Ajith]
 
After sorting: String Arrays
[Ajith, Karthi, Simbhu, Suriya, Vijay, Vikram]

Example 2: ArrayList operation

ArrayListAddAndRemove.java

package in.bench.resources.java.collection; 
import java.util.ArrayList; 
public class ArrayListAddAndRemove 
{
   public static void main(String[] args) 
   {
      // creating ArrayList object of type String
      ArrayList<String> al = new ArrayList<String>();
      // adding elements to ArrayList object
      al.add("Ajith Kumar");
      al.add("Vijay Joseph"); 
      al.add("Karthi Sivakumar"); 
      al.add("Vikram Kennedy");
      al.add("Dhanusk K Raja");
      al.add("Suriya Sivakumar");
      System.out.println("Iterating ArrayList values\n");
      // Iterating using enhanced for-loop
      for(String str : al){
         System.out.println(str);
      }
      // removing element at 4th index
      al.remove(4);
      // to print all values of ArrayList
      System.out.println("\n\nArrayList values after" + " removal at 4th index postion \n\n" + al);
   }
}

Output:

Iterating ArrayList values
 
Ajith Kumar
Vijay Joseph
Karthi Sivakumar
Vikram Kennedy
Dhanusk K Raja
Suriya Sivakumar
 
ArrayList values after removal at 4th index postion 
[Ajith Kumar, Vijay Joseph, Karthi Sivakumar, Vikram Kennedy, Suriya Sivakumar]

    Filed Under: Difference

    Reader Interactions

    Leave a Reply Cancel reply

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

    Primary Sidebar

    Join SoftwareTestingo Telegram Group

    Tutorials Important Links

    • Software Testing Jobs
    • Manual Testing Tutorial
    • Selenium Tutorial
    • Core Java Tutorial
    • TestNG Tutorial
    • Java Programs
    • Selenium Programs
    • Manual Test Cases
    • Interview Tips
    • Contact US
    • www.softwaretestingo.com

    Important Links

    • Software Testing Interview Questions
    • Agile Interview Questions
    • Manual Testing Interview Questions
    • Testing Interview Questions
    • Selenium Interview Questions
    • Selenium Real Time Interview Questions
    • Selenium WebDriver Interview Questions
    • Automation Framework Interview Questions
    • Appium Interview Questions
    • TestNG Interview Questions
    • Java Interview Questions
    • Core Java Interview Questions

    Categories

    Copyright © 2021 SoftwareTestingo.com ~ Contact Us ~ Sitemap ~ Privacy Policy