Given an array of size n, the task is to add an element x in this array in Java. The size of the array cannot be changed dynamically in Java, as it is done in C/C++. Hence in order to add an element in the array, one of the following methods can be done:
- By creating a new array:
- Create a new array of size n+1, where n is the size of the original array.
- Add the n elements of the original array in this array.
- Add the new element in the n+1 th position.
- Print the new array.
Below is the implementation of the above approach:
Java
// Java Program to add an element in an Array    import java.io.*; import java.lang.*; import java.util.*;    class GFG {       // Function to add x in arr    public static int [] addX( int n, int arr[], int x)    {        int i;           // create a new array of size n+1        int newarr[] = new int [n + 1 ];           // insert the elements from        // the old array into the new array        // insert all elements till n        // then insert x at n+1        for (i = 0 ; i < n; i++)            newarr[i] = arr[i];           newarr[n] = x;           return newarr;    }       // Driver code    public static void main(String[] args)    {           int n = 10 ;        int i;           // initial array of size 10        int arr[]            = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };           // print the original array        System.out.println( "Initial Array:\n"                           + Arrays.toString(arr));           // element to be added        int x = 50 ;           // call the method to add x in arr        arr = addX(n, arr, x);           // print the updated array        System.out.println( "\nArray with " + x                           + " added:\n"                           + Arrays.toString(arr));    } } |
Output: Initial Array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Array with 50 added: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 50]
Time Complexity: O(N)
Auxiliary Space: O(N)
- By using ArrayList as intermediate storage:
- Create an ArrayList with the original array, using asList() method.
- Simply add the required element in the list using add() method
- Convert the list to an array using toArray() method
Java
// Java Program to add an element in an Array         import java.io.*;   import java.lang.*;   import java.util.*;         class GFG {             // Function to add x in arr       public static Integer[] addX( int n, Integer arr[], int x)       {           int i;                 // create a new ArrayList           List<Integer> arrlist               = new ArrayList<Integer>(                   Arrays.asList(arr));                 // Add the new element           arrlist.add(x);                 // Convert the Arraylist to array           arr = arrlist.toArray(arr);                 // return the array           return arr;       }             // Driver code       public static void main(String[] args)       {                 int n = 10 ;           int i;                 // initial array of size 10           Integer arr[]               = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };                 // print the original array           System.out.println( "Initial Array:\n"                              + Arrays.toString(arr));                 // element to be added           int x = 50 ;                 // call the method to add x in arr           arr = addX(n, arr, x);                 // print the updated array           System.out.println( "\nArray with " + x                              + " added:\n"                              + Arrays.toString(arr));       }   } |
Output: Initial Array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] Array with 50 added: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 50]
Time Complexity: O(N)
Auxiliary Space: O(N)