«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как сортировать 2D двойной массив по первым столбцам в Java?

Как сортировать 2D двойной массив по первым столбцам в Java?

Опубликовано в 2025-03-12
Просматривать:463

How to Sort a 2D Double Array by the First Column in Java?

сортировка 2D массивов с использованием java's arrays.sort ()

arrays.sort () - это универсальная функция сортировки в Java, которая может быть использована для различных типов данных, включая 2D Arous. В этом конкретном сценарии мы стремимся сортировать 2D двойного массива на основе значений в первом столбце.

] для достижения этого без реализации пользовательского алгоритма сортировки, мы можем использовать перегруженную версию массивов#sort (t [] a, сравните C). Предоставляя компаратора в качестве второго аргумента, мы можем указать наши собственные критерии сортировки.

для данного массива:

double[][] myArr = new double[mySize][2];
// Initial array contents
]
1      5
13     1.55
12     100.6
12.1   .85

мы можем создать компаратор, который сравнивает первые элементы каждой строки:

]
Comparator comparator = new Comparator() {
    @Override
    public int compare(double[] a, double[] b) {
        return Double.compare(a[0], b[0]);
    }
};

] Затем мы можем сортировать массив, используя этот компаратор:

java.util.Arrays.sort(myArr, comparator);

result:

1      5
12     100.6
12.1   .85
13     1.55

java -8:

в Java 8, а позже мы можем упростить компаратор, используя выражение Lambda:

 arrays.sort (myarr, comparator.comparingdouble (o -> o [0]);
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3