In java, the arrays are immutable i.e if the array is once assigned or instantiated the memory allocated for the array can’t be decreased or increased. But there is one form of a solution in which we can extend the array.
Extending an array after initialization: As we can’t modify the array size after the declaration of the array, we can only extend it by initializing a new array and copying the values of the old array to the new array, and then we can assign new values to the array according to the size of the array declared.
Below are the examples to show extending the array after initialization.
Example 1:
Java
// java program to demonstrate // extending an array import java.lang.*; class ExtendingArray { public static void main(String[] args) { // initializing string array String[] words = new String[] { "G" , "E" , "E" }; // allocating space for 5 strings // in the extended array String[] extendWords = new String[ 5 ]; // adding new string // at index 3 and 4 extendWords[ 3 ] = "K" ; extendWords[ 4 ] = "S" ; // copying the array elements // to new extended array System.arraycopy(words, 0 , extendWords, 0 , words.length); // printing the extended array // elements for (String str : extendWords) { System.out.print(str); } } } |
GEEKS
Example 2:
Java
// Java program to demonstrate // extending an array import java.lang.*; class ExtendingArray { public static void extendedArray() { // initializing integers to array int int [] num = new int [] { 1 , 2 , 3 , 4 , 5 , 6 }; // allocating space for 10 integers int [] extendnum = new int [ 10 ]; // adding new integers // at index 6,7,8,9 extendnum[ 6 ] = 7 ; extendnum[ 7 ] = 8 ; extendnum[ 8 ] = 9 ; extendnum[ 9 ] = 10 ; // copying old array to new array System.arraycopy(num, 0 , extendnum, 0 , num.length); // print the elements of // extended array using for-each for ( int str : extendnum) System.out.println(str); } public static void main(String[] args) { // create an instance ExtendingArray exarr = new ExtendingArray(); // extend an array and print them exarr.extendedArray(); } } |
1 2 3 4 5 6 7 8 9 10