Как сортировать 2d-массив в Java

Kak Sortirovat 2d Massiv V Java



Двумерный или двумерный массив представляет собой набор столбцов и строк. Программисты могут произвольно обращаться к элементам 2D-массива или к каждой ячейке по отдельности, используя их индексы. С помощью сортировки элементы массива располагаются в соответствии с требованиями в порядке возрастания или убывания. Точнее, Java». Массив.сортировка() ” можно использовать для элементов двумерного массива в программе.

В этом руководстве мы обсудим, как сортировать двумерные массивы в Java.

Как сортировать 2D-массив в Java?

В Java вы можете отсортировать 2D-массив, используя:







Теперь мы обсудим каждый из упомянутых методов один за другим.



Метод 1: сортировка 2D-массива по строкам в Java

При сортировке по строкам вы можете использовать « Массив.сортировка() ” для сортировки элементов массива. Он повторяет каждый элемент определенной строки и меняет местами целые числа, когда текущий элемент больше, чем следующий.



Давайте рассмотрим пример, чтобы понять сторону реализации.





Пример
В этом примере сначала мы создадим статический метод « rowWiseSorting() », чтобы отсортировать массив в порядке возрастания, вызвав « Массивы.sort() » метода класса Arrays, а затем распечатать отсортированные элементы массива, используя « за петли:

статический инт rowWiseSorting ( инт обр [ ] [ ] ) {
за ( инт я знак равно 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() ” метод с “ Интерфейс компаратора », чтобы сравнить значения столбца. Наконец, мы напечатаем значения отсортированного столбца массива, используя « за петли:

статический пустота столбецWiseSorting ( инт обр [ ] [ ] , инт обзор ) {
Массивы. Сортировать ( обр , новый компаратор < инт [ ] > ( ) {
публичный инт сравнивать ( инт [ ] первый , инт [ ] 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 с примерами.