В этом руководстве мы обсудим, как сортировать двумерные массивы в Java.
Как сортировать 2D-массив в Java?
В Java вы можете отсортировать 2D-массив, используя:
Теперь мы обсудим каждый из упомянутых методов один за другим.
Метод 1: сортировка 2D-массива по строкам в Java
При сортировке по строкам вы можете использовать « Массив.сортировка() ” для сортировки элементов массива. Он повторяет каждый элемент определенной строки и меняет местами целые числа, когда текущий элемент больше, чем следующий.
Давайте рассмотрим пример, чтобы понять сторону реализации.
Пример
В этом примере сначала мы создадим статический метод « rowWiseSorting() », чтобы отсортировать массив в порядке возрастания, вызвав « Массивы.sort() » метода класса Arrays, а затем распечатать отсортированные элементы массива, используя « за петли:
за ( инт я знак равно 0 ; я < обр. длина ; я ++ ) {
Массивы. Сортировать ( обр [ я ] ) ;
}
за ( инт я знак равно 0 ; я < обр. длина ; я ++ ) {
за ( инт Дж знак равно 0 ; Дж < обр [ я ] . длина ; Дж ++ ) {
Система. вне . Распечатать ( обр [ я ] [ Дж ] + ' ' ) ;
}
Система. вне . печать ( ) ;
}
возвращаться 0 ;
}
Здесь у нас есть двумерный массив с именем « обр ” матричной формы 3×3 (три строки и три столбца). Теперь для сортировки строк созданного массива вызовем метод « rowWiseSorting() », передав массив в качестве аргумента в методе main():
публичный статический пустота главный ( Нить [ ] аргументы ) {
инт обр [ ] [ ] знак равно новый инт [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , 20 } ,
{ 28 , 25 , 8 } ,
{ одиннадцать , 5 , 1 } } ;
rowWiseSorting ( обр ) ;
}
}
Как видите, мы отсортировали наш массив в порядке возрастания:
Хотите попробовать сортировку по столбцам в Java? Взгляните на следующий раздел.
Метод 2: сортировка 2D-массива по столбцам в Java
Чтобы отсортировать 2D-массив по столбцам в Java, вызовите « Массивы.sort() ” метод с “ Интерфейс компаратора ». Интерфейс Comparator определяет « сравнивать() », который принимает два параметра, а затем сравнивает их друг с другом. Если переданные параметры равны, возвращается ноль. Если 1-й параметр больше, чем 2-й параметр, он возвращает положительное значение. Если нет, возвращается отрицательное значение.
Пример
В этом примере мы создадим метод с именем « столбецWiseSorting() ” с двумя аргументами, двумерный массив “ обр[][] ' и номер столбца с именем ' обзор ». Затем позвоните в « Массивы.sort() ” метод с “ Интерфейс компаратора », чтобы сравнить значения столбца. Наконец, мы напечатаем значения отсортированного столбца массива, используя « за петли:
Массивы. Сортировать ( обр , новый компаратор < инт [ ] > ( ) {
публичный инт сравнивать ( инт [ ] первый , инт [ ] scnd ) {
если ( первый [ обзор - 1 ] > scnd [ обзор - 1 ] ) {
возвращаться 1 ;
}
еще возвращаться - 1 ;
}
} ) ;
}
за ( инт я знак равно 0 ; я < обр. длина ; я ++ ) {
за ( инт Дж знак равно 0 ; Дж < обр [ я ] . длина ; Дж ++ ) {
Система. вне . Распечатать ( обр [ я ] [ Дж ] + ' ' ) ;
}
Система. вне . печать ( ) ;
}
Мы будем использовать уже созданный массив с именем « обр ' и передать его в ' столбецWiseSorting() ' в качестве первого параметра и ' 1 ” в качестве второго параметра:
столбецWiseSorting ( обр , 1 ) ;
Выполнение указанной выше программы отсортирует первый столбец нашего 2D-массива:
Мы собираем всю необходимую информацию для сортировки 2D-массива в Java.
Вывод
В Java двумерный массив можно сортировать по строкам или столбцам в соответствии с требованиями. Для построчной сортировки используется только метод Array.sort(); однако при сортировке по столбцам метод Array.sort() вызывается с интерфейсом Comparator. Для сортировки по строкам в метод Array.sort() не передается никаких параметров, тогда как в методе сортировки по столбцам количество столбцов, которые необходимо отсортировать, упоминается как параметр. В этом руководстве обсуждались методы сортировки 2D-массива в Java с примерами.