Sort an Array and Insert an Element Inside Array in Java

04 Feb, 2021
Sorting an array can be done by using inbuilt sort function while for the insertion we have to create a new array to do so as arrays in Java are immutable. To learn more about sorting in Java follow the article mentioned below:
Sorting: Arrays.sort() in Java with examples
Approach 1:
Create a new array of size N+1.Copy first array in New array.Insert number at the end of the array.Sort the array.
Create a new array of size N+1.
Copy first array in New array.
Insert number at the end of the array.
Sort the array.
Example: Inserting an element and then sorting the array.
Java
// Java program to insert an element in// an array and then sorting it. // Importing util filesimport java.util.*; public class Gfg {     // Main function    public static void main(String args[]) throws Exception    {         // Given number        int given_number = 1;         // Array        int array[] = { 6, 7, 8, 2, 3, 4, 5, 9, 10 };         // Creating new array with increased size        int new_array[] = new int[array.length + 1];         // Copying elements from one array to another        for (int i = 0; i < array.length; i++) {            new_array[i] = array[i];        }         // Adding new element        new_array[new_array.length - 1] = given_number;         // Sorting new array        Arrays.sort(new_array);         // print array        for (int i = 0; i < new_array.length; i++)            System.out.print(new_array[i] + " ");    }}
1 2 3 4 5 6 7 8 9 10 
Time complexity: O(n log n)
Approach 2: 
Sort the array.Create a new array of size N+1.Start traversing the given array and copy elements.If the given number is less than equal to the number present in the array, append given a number to the new array.Copy remaining elements of the given array to the new array.
Sort the array.
Create a new array of size N+1.
Start traversing the given array and copy elements.
If the given number is less than equal to the number present in the array, append given a number to the new array.
Copy remaining elements of the given array to the new array.
Example: Inserting an element and then sorting the array. 
Java
// Java program to insert an element// in an array and then sorting it. // Importing util filesimport java.util.*; public class Gfg {     // Main function    public static void main(String args[]) throws Exception    {         // Given Number        int given_number = 1;         // Array        int array[] = { 6, 7, 8, 2, 3, 4, 5, 9, 10 };         // Sort Given array        Arrays.sort(array);         // Creating new array with increased size        int new_array[] = new int[array.length + 1];         // Copying elements from one        // array to another as in approach 2        int i = 0, j = 0;        for (i = 0; i < new_array.length; i++) {            if (given_number <= array[i]) {                new_array[i] = given_number;                break;            }            else                new_array[i] = array[j++];        }         // copy the remaining elements        for (int k = i + 1; k < new_array.length; k++)            new_array[k] = array[j++];         // print new array        for (i = 0; i < new_array.length; i++)            System.out.print(new_array[i] + " ");    }}
1 2 3 4 5 6 7 8 9 10 
Time complexity: O(n log n)
Approach 3:
Create a set.Start adding all the elements in the set.Copy remaining elements of the given set to the new array.
Create a set.
Start adding all the elements in the set.
Copy remaining elements of the given set to the new array.
Example: Inserting an element and then sorting the array. 
Java
// Java program to insert an element// in an array and then sorting it. // Importing util filesimport java.util.Arrays;import java.util.HashSet;import java.util.Set; public class GFG {     public static void main(String[] args)    {         // using wrapper class here for array,        // to convert into object        Integer arr[] = { 6, 7, 8, 2, 3, 4, 5, 9, 10 };         Set<Integer> sets            = new HashSet<Integer>(Arrays.asList(arr));         sets.add(1);         arr = sets.toArray(arr);         // print the array        System.out.println(Arrays.toString(arr));    }}
1 2 3 4 5 6 7 8 9 10 
Time complexity: O(n log n)
choudharyabhishek162
Java-Array-Programs
Java-Arrays
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.