Open In App

How to add an element to an Array in Java?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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:

  1. 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)

  1. 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)



Last Updated : 11 Jan, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads