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)
