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 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 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