Open In App

Immutable Array in Java

Last Updated : 31 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will talk about how to implement an immutable Array in Java. Immutable means we cannot modify it. If you have an immutable array in Java means refers to an array whose content and size cannot be changed after it has been initialized.

How to Implement an Immutable Array in Java?

So to start implementing an immutable array in Java, we need to create a wrapper class that encapsulates a regular array and provides methods to access its elements without allowing modifications. So basically the key is to ensure that no method in the Wrapper class allows changing the array content or size. We have to follow the step-by-step guide to implement an immutable array in Java.

Below is the implementation of implementing an immutable array in Java:

Java




// Java Program to Create 
// Immutable Array
import java.util.*;
  
// ImmutableArray Class
final class ImmutableArray {
      // Array element
    private final int[] array;
  
      // Constructor
    public ImmutableArray(int[] array) {
          
        this.array = array.clone();
    }
  
      // Method to access element from Array
    public int get(int index) {
        return array[index];
    }
  
      // Method to return the length of Array
    public int length() {
        return array.length;
    }
}
  
// Driver Class
class Main {
      // main function
    public static void main(String[] args) {
        
          // Mutable Array
        int[] originalArray = {1, 2, 3, 4, 5};
  
        // Create an immutable array
        ImmutableArray immutableArray = new ImmutableArray(originalArray);
  
          System.out.print("Elements of Array are: ");    
        
        // Access elements
          for(int i=0;i<immutableArray.length();i++){
          System.out.print(immutableArray.get(i)+" ");
        }
          
        // Access length
        System.out.println("\nArray length: " + immutableArray.length());
    }
}


Output

Elements of Array are: 1 2 3 4 5 
Array length: 5

Explaination of the Above Program:

In the above Program we have used a ImmutableArray Class that creates the clone of a mutable array and we can only access the using get() and can find the length of array using length() method.



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads