How to Sort an Array In Java?

11 minutes read

To sort an array in Java, you can use the Arrays.sort() method from the Java.util package. This method takes the array as input and sorts it in ascending order by default. You can also use the Collections.sort() method if you are working with a List instead of an array. If you need to sort the array in descending order, you can implement a custom Comparator and pass it as a second argument to the sort method. Keep in mind that sorting an array changes the original order of elements, so make sure to create a copy of the array if you need to preserve the original order.

Best Java Books to Read in May 2024

1
Head First Java: A Brain-Friendly Guide

Rating is 5 out of 5

Head First Java: A Brain-Friendly Guide

2
Core Java: Fundamentals, Volume 1 (Oracle Press Java)

Rating is 4.9 out of 5

Core Java: Fundamentals, Volume 1 (Oracle Press Java)

3
Java: The Comprehensive Guide to Java Programming for Professionals (Rheinwerk Computing)

Rating is 4.8 out of 5

Java: The Comprehensive Guide to Java Programming for Professionals (Rheinwerk Computing)

4
Effective Java

Rating is 4.7 out of 5

Effective Java

5
Java All-In-One for Dummies

Rating is 4.6 out of 5

Java All-In-One for Dummies

6
Java: The Complete Reference, Thirteenth Edition

Rating is 4.5 out of 5

Java: The Complete Reference, Thirteenth Edition

7
Learn Java with Projects: A concise practical guide to learning everything a Java professional really needs to know

Rating is 4.4 out of 5

Learn Java with Projects: A concise practical guide to learning everything a Java professional really needs to know

8
Learn Java the Easy Way: A Hands-On Introduction to Programming

Rating is 4.3 out of 5

Learn Java the Easy Way: A Hands-On Introduction to Programming


How to sort an array in Java using Functional interfaces?

To sort an array in Java using Functional interfaces, you can use the java.util.Arrays class along with the java.util.Comparator functional interface. Here is an example code snippet to sort an array of integers in ascending order:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        Integer[] numbers = {5, 2, 8, 3, 1};

        // Sort the array using a lambda expression
        Arrays.sort(numbers, Comparator.naturalOrder());

        // Print the sorted array
        for (int num : numbers) {
            System.out.print(num + " ");
        }
    }
}


In this example, we use the Arrays.sort method to sort the numbers array in ascending order. We pass a lambda expression Comparator.naturalOrder() as the Comparator to specify the sorting order. You can also implement a custom Comparator using a lambda expression or method reference to sort the array based on specific criteria.


How to sort an array of doubles in Java?

To sort an array of doubles in Java, you can use the Arrays.sort() method. Here is an example code snippet showing how to sort an array of doubles in ascending order:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        double[] arr = {3.5, 2.0, 9.8, 1.2, 5.7};

        Arrays.sort(arr);

        System.out.println("Sorted Array:");
        for (double num : arr) {
            System.out.println(num);
        }
    }
}


This code will output:

1
2
3
4
5
6
Sorted Array:
1.2
2.0
3.5
5.7
9.8



How to sort an array in Java using Lambda expressions?

Here's an example of how you can sort an array in Java using Lambda expressions:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Arrays;

public class LambdaSortExample {
    public static void main(String[] args) {
        Integer[] numbers = {5, 2, 8, 1, 9, 0, 3, 7};

        // Using Lambda expression to sort the array in ascending order
        Arrays.sort(numbers, (a, b) -> a - b);

        System.out.println("Sorted array in ascending order:");
        for (int num : numbers) {
            System.out.print(num + " ");
        }

        // Using Lambda expression to sort the array in descending order
        Arrays.sort(numbers, (a, b) -> b - a);

        System.out.println("\nSorted array in descending order:");
        for (int num : numbers) {
            System.out.print(num + " ");
        }
    }
}


In this example, we have used the Arrays.sort() method to sort the array in ascending and descending order using Lambda expressions. The Lambda expression (a, b) -> a - b sorts the array in ascending order by subtracting the second element from the first element. Similarly, the Lambda expression (a, b) -> b - a sorts the array in descending order by subtracting the first element from the second element.


How to sort a multidimensional array in Java?

To sort a multidimensional array in Java, you can use the Arrays.sort() method along with a custom Comparator. Here is an example code snippet to sort a 2D array in ascending order based on the first element of each subarray:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import java.util.Arrays;
import java.util.Comparator;

public class Main {

    public static void main(String[] args) {
        int[][] arr = {{3, 2}, {1, 4}, {5, 9}, {7, 6}};

        // Sorting the 2D array based on the first element of each subarray
        Arrays.sort(arr, Comparator.comparingInt(a -> a[0]));

        // Printing the sorted array
        for (int[] subArray : arr) {
            System.out.println(Arrays.toString(subArray));
        }
    }
}


In this example, we use the Arrays.sort() method and pass a Comparator that compares the first element of each subarray. The Comparator.comparingInt(a -> a[0]) lambda expression is used to extract the first element of each subarray for comparison.


You can modify the Comparator to sort the array based on a different element or in a different order by changing the index or the comparison logic inside the lambda expression.


How to sort an array in Java using Merge Sort?

Here is an example of how to implement Merge Sort in Java to sort an array:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public class MergeSort {
    public void sort(int[] arr) {
        if (arr == null || arr.length == 0) {
            return;
        }
        mergeSort(arr, 0, arr.length - 1);
    }

    private void mergeSort(int[] arr, int low, int high) {
        if (low < high) {
            int mid = low + (high - low) / 2;

            mergeSort(arr, low, mid);
            mergeSort(arr, mid + 1, high);

            merge(arr, low, mid, high);
        }
    }

    private void merge(int[] arr, int low, int mid, int high) {
        int[] temp = new int[arr.length];
        for (int i = low; i <= high; i++) {
            temp[i] = arr[i];
        }

        int i = low;
        int j = mid + 1;
        int k = low;

        while (i <= mid && j <= high) {
            if (temp[i] <= temp[j]) {
                arr[k] = temp[i];
                i++;
            } else {
                arr[k] = temp[j];
                j++;
            }
            k++;
        }

        while (i <= mid) {
            arr[k] = temp[i];
            k++;
            i++;
        }
    }

    public static void main(String[] args) {
        int[] arr = {12, 11, 13, 5, 6, 7};
        
        MergeSort mergeSort = new MergeSort();
        mergeSort.sort(arr);

        System.out.println("Sorted array:");
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}


This code defines a MergeSort class with methods to sort an array using merge sort. When the sort method is called, it recursively divides the array into halves and merges them in sorted order.


In the mergeSort method, it calculates the mid index and recursively calls mergeSort on the left and right halves. In the merge method, it merges the two halves in sorted order.


Finally, in the main method, an example array is used to demonstrate how to sort an array using Merge Sort.


How to sort an array in Java using Cocktail Shaker Sort?

Cocktail Shaker Sort, also known as bidirectional bubble sort, is a variation of the Bubble Sort algorithm that sorts elements in both directions. Below is how you can implement Cocktail Shaker Sort to sort an array in Java:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
public class CocktailShakerSort {

    public static void cocktailSort(int[] array) {
        boolean swapped = true;
        int start = 0;
        int end = array.length;

        while (swapped) {
            swapped = false;

            // Move from left to right
            for (int i = start; i < end - 1; i++) {
                if (array[i] > array[i + 1]) {
                    int temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                    swapped = true;
                }
            }

            if (!swapped) {
                break;
            }

            swapped = false;
            end--;

            // Move from right to left
            for (int i = end - 1; i >= start; i--) {
                if (array[i] > array[i + 1]) {
                    int temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                    swapped = true;
                }
            }

            start++;
        }
    }

    public static void main(String[] args) {
        int[] array = {64, 34, 25, 12, 22, 11, 90};
        
        System.out.println("Unsorted Array: ");
        for (int num : array) {
            System.out.print(num + " ");
        }
        
        cocktailSort(array);
        
        System.out.println("\nSorted Array: ");
        for (int num : array) {
            System.out.print(num + " ");
        }
    }
}


In this code snippet, we first define the cocktailSort method that takes an array of integers as input and sorts it using the Cocktail Shaker Sort algorithm. We then define a main method where we initialize an array with some elements and call the cocktailSort method to sort the array. Finally, we print the unsorted and sorted arrays to the console.

Facebook Twitter LinkedIn Telegram Whatsapp Pocket

Related Posts:

In order to sort an array in Golang, you can follow these steps:Import the sort package in your Go code.Create an array that you want to sort.Use the sort.Sort function along with a custom sort.Interface implementation to sort the array.Here&#39;s an example o...
To sort a list in Haskell, you can use the sort function from the Data.List module. Here&#39;s how you can do it:Import the Data.List module by adding the following line at the top of your Haskell file: import Data.List Use the sort function to sort a list in ...
To sort a list in Groovy, you can use the sort() method on a list object. This method will sort the elements in the list in natural order. You can also use the sort method with a closure to define a custom sorting order. Another option is to use the sort metho...
To sort an array in Swift, you can use the built-in method sorted() or sort() on the array. The sorted() method returns a new sorted array without modifying the original array, while the sort() method sorts the array in place.You can use the sorted() method li...
In d3.js, you can sort stacked bars by manipulating the data before rendering the chart. One approach is to sort the data array based on a specific criteria, such as the total values of each stack. You can use the array.sort() method to reorder the data based ...
In Kotlin, you can use the sortedBy function to sort a list of objects based on a specific property of the objects. For example, if you have a list of objects of type Person and you want to sort them based on their age, you can call sortedBy { it.age } on the ...