Open In App

How to add an element to an Array in Java?

Last Updated : 11 Jan, 2023
Improve
Improve
Like Article
Like
Save
Share
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)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads