How to Insert an element at a specific position in an Array in Java

02 Aug, 2021
An array is a collection of items stored at contiguous memory locations. In this article, we will see how to insert an element in an array in Java.Given an array arr of size n, this article tells how to insert an element x in this array arr at a specific position pos. 
Approach 1: Here’s how to do it. 
First get the element to be inserted, say xThen get the position at which this element is to be inserted, say posCreate a new array with the size one greater than the previous sizeCopy all the elements from previous array into the new array till the position posInsert the element x at position posInsert the rest of the elements from the previous array into the new array after the pos
First get the element to be inserted, say x
Then get the position at which this element is to be inserted, say pos
Create a new array with the size one greater than the previous size
Copy all the elements from previous array into the new array till the position pos
Insert the element x at position pos
Insert the rest of the elements from the previous array into the new array after the pos
Below is the implementation of the above approach: 
Java
// Java Program to Insert an element// at a specific position in an Array import java.io.*;import java.lang.*;import java.util.*; class GFG {     // Function to insert x in arr at position pos    public static int[] insertX(int n, int arr[],                                int x, int pos)    {        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 pos        // then insert x at pos        // then insert rest of the elements        for (i = 0; i < n + 1; i++) {            if (i < pos - 1)                newarr[i] = arr[i];            else if (i == pos - 1)                newarr[i] = x;            else                newarr[i] = arr[i - 1];        }        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 inserted        int x = 50;         // position at which element        // is to be inserted        int pos = 5;         // call the method to insert x        // in arr at position pos        arr = insertX(n, arr, x, pos);         // print the updated array        System.out.println("\nArray with " + x                           + " inserted at position "                           + pos + ":\n"                           + Arrays.toString(arr));    }}
Initial Array:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Array with 50 inserted at position 5:
[1, 2, 3, 4, 50, 5, 6, 7, 8, 9, 10]
 
Approach 2: Here’s how to do it. 
First get the element to be inserted, say elementThen get the position at which this element is to be inserted, say positionConvert array to ArrayListAdd element at position using list.add(position, element)Convert ArrayList back to array and print
First get the element to be inserted, say element
Then get the position at which this element is to be inserted, say position
Convert array to ArrayList
Add element at position using list.add(position, element)
Convert ArrayList back to array and print
Below is the implementation of the above approach: 
Java
// Java Program to Insert an element// at a specific position in an Array// using ArrayListimport java.util.ArrayList;import java.util.Arrays;import java.util.List; public class AddElementAtPositionInArray {         // Method to add element at position    private static void addElement(        Integer[] arr, int element,        int position)    {        // Converting array to ArrayList        List<Integer> list = new ArrayList<>(            Arrays.asList(arr));                 // Adding the element at position        list.add(position - 1, element);                 // Converting the list back to array        arr = list.toArray(arr);         // Printing the original array        System.out.println("Initial Array:\n"                        + Arrays.toString(arr));         // Printing the updated array        System.out.println("\nArray with " + element                        + " inserted at position "                        + position + ":\n"                        + Arrays.toString(arr));    }         // Drivers Method    public static void main(String[] args)    {        // Sample array        Integer[] arr = { 1, 2, 3, 4, 5,                        6, 7, 8, 9, 10 };             // Element to be inserted        int element = 50;             // Position to insert        int position = 5;             // Calling the function to insert        addElement(arr, element, position);    }}
Initial Array:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Array with 50 inserted at position 5:
[1, 2, 3, 4, 50, 5, 6, 7, 8, 9, 10]
 
GauravWable
adnanirshad158
sagartomar9927
Java-Array-Programs
Java Programs
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.