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 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());
}
} |
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.