Home  >  Article  >  Java  >  How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-11 09:34:03160browse

How to Sort a 2D Array in Java Using Arrays.sort and Comparators?

Sorting 2D Arrays in Java Using Arrays.sort

One way to sort a 2D array based on the values of without implementing your own sorting algorithm is to use the overloaded Arrays#Sort(T[] a, Comparator c) method.

double[][] array = {
        {1, 5},
        {13, 1.55},
        {12, 100.6},
        {12.1, .85}
};

java.util.Arrays.sort(array, new java.util.Comparator<double[]>() {
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
});

This method takes a Comparator as its second argument, allowing you to define your own sorting criteria. In this case, the Comparator we've provided compares the first element of each double[] array and returns an integer indicating whether it's less than, greater than, or equal to 0.

Using Lambda Functions in Java 8

Java 8 introduces lambda functions, which provide a concise way to define Comparators. We can rewrite the previous code using a lambda function as follows:

Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));

This lambda function takes a double[] array as its input and returns the value of the first element as a double. By sorting the array using this Comparator, we achieve the desired result.

The above is the detailed content of How to Sort a 2D Array in Java Using Arrays.sort and Comparators?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn