java Arrays.sort 2d array
Solution 1:
Use Overloaded Arrays#Sort(T[] a, Comparator c) which takes Comparator as the second argument.
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]);
}
});
JAVA-8: Instead of that big comparator, we can use lambda function as following-
Arrays.sort(array, Comparator.comparingDouble(o -> o[0]));
Solution 2:
Welcome Java 8:
Arrays.sort(myArr, (a, b) -> Double.compare(a[0], b[0]));
Solution 3:
The simplest way:
Arrays.sort(myArr, (a, b) -> a[0] - b[0]);