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
import java.io.*;
import java.lang.*;
import java.util.*;
class GFG {
public static int [] addX( int n, int arr[], int x)
{
int i;
int newarr[] = new int [n + 1 ];
for (i = 0 ; i < n; i++)
newarr[i] = arr[i];
newarr[n] = x;
return newarr;
}
public static void main(String[] args)
{
int n = 10 ;
int i;
int arr[]
= { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
System.out.println( "Initial Array:\n"
+ Arrays.toString(arr));
int x = 50 ;
arr = addX(n, arr, x);
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
import java.io.*;
import java.lang.*;
import java.util.*;
class GFG {
public static Integer[] addX( int n, Integer arr[], int x)
{
int i;
List<Integer> arrlist
= new ArrayList<Integer>(
Arrays.asList(arr));
arrlist.add(x);
arr = arrlist.toArray(arr);
return arr;
}
public static void main(String[] args)
{
int n = 10 ;
int i;
Integer arr[]
= { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 };
System.out.println( "Initial Array:\n"
+ Arrays.toString(arr));
int x = 50 ;
arr = addX(n, arr, x);
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)