Как да сортирате 2d масив в Java

Kak Da Sortirate 2d Masiv V Java



Двуизмерен или 2D масив е колекция от колони и редове. Програмистите могат произволно да имат достъп до елементите на 2D масива или до всяка клетка поотделно, като използват техните индекси. С помощта на сортирането елементите на масива се подреждат според изискванията, независимо дали във възходящ или низходящ ред. По-конкретно, Java “ Array.sort() ” може да се използва за елементите на 2D масив в рамките на програма.

Този урок ще обсъди как да сортирате 2D масиви в Java.

Как да сортирате 2D масив в Java?

В Java можете да сортирате 2D масив, като използвате:







Сега ще обсъдим всеки от споменатите методи един по един.



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

При сортиране по ред можете да използвате „ Array.sort() ” за сортиране на елементите на масива. Той итерира всеки елемент от определен ред и разменя целите числа, когато текущият елемент е по-голям от следващия.



Нека да разгледаме пример, за да разберем страната на изпълнението.





Пример
В този пример първо ще създадем статичен метод ' rowWiseSorting() ”, за да сортирате масива във възходящ ред, като извикате „ Arrays.sort() ” на класа Arrays и след това отпечатайте сортираните елементи на масива с помощта на „ за ” цикли:

статичен вътр rowWiseSorting ( вътр обр [ ] [ ] ) {
за ( вътр i = 0 ; i < обр. дължина ; i ++ ) {
Масиви. вид ( обр [ i ] ) ;
}
за ( вътр i = 0 ; i < обр. дължина ; i ++ ) {
за ( вътр й = 0 ; й < обр [ i ] . дължина ; й ++ ) {
Система. навън . печат ( обр [ i ] [ й ] + ' ' ) ;
}
Система. навън . println ( ) ;
}
връщане 0 ;
}

Тук имаме 2D масив с име ' обр ” от матрична форма 3×3 (три реда и три колони). Сега, за да сортираме редовете на създадения масив, ще извикаме метода “ rowWiseSorting() ” чрез предаване на масив като аргумент в метода main():



публичен статичен невалиден основен ( низ [ ] аргументи ) {
вътр обр [ ] [ ] = нов вътр [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , двадесет } ,
{ 28 , 25 , 8 } ,
{ единадесет , 5 , 1 } } ;
rowWiseSorting ( обр ) ;
}
}

Както можете да видите, сортирахме нашия масив във възходящ ред:

Искате ли да изпробвате сортирането по колони в Java? Разгледайте следния раздел.

Метод 2: Сортиране по колони на 2D масив в Java

За да сортирате по колони 2D масив в Java, извикайте „ Arrays.sort() ' метод с ' Интерфейс за сравнение ”. Интерфейсът за сравнение дефинира „ сравни() ”, който приема два параметъра и след това ги сравнява един с друг. Ако предадените параметри са равни, той връща нула. Ако първият параметър е по-голям от втория, той връща положителна стойност. Ако не, се връща отрицателна стойност.

Пример
В този пример ще създадем метод с име „ columnWiseSorting() ' с два аргумента, 2D масив ' пристигане[][] ” и номер на колона с име „ преглед ”. След това се обадете на „ Arrays.sort() ' метод с ' Интерфейс за сравнение ”, за да сравните стойностите на колона. Накрая ще отпечатаме стойностите на сортираната колона от масив, използвайки „ за ” цикли:

статичен невалиден columnWiseSorting ( вътр обр [ ] [ ] , вътр преглед ) {
Масиви. вид ( обр , нов Компаратор < вътр [ ] > ( ) {
публичен вътр сравнявам ( вътр [ ] първо , вътр [ ] scnd ) {
ако ( първо [ преглед - 1 ] > scnd [ преглед - 1 ] ) {
връщане 1 ;
}
друго връщане - 1 ;
}
} ) ;
}
за ( вътр i = 0 ; i < обр. дължина ; i ++ ) {
за ( вътр й = 0 ; й < обр [ i ] . дължина ; й ++ ) {
Система. навън . печат ( обр [ i ] [ й ] + ' ' ) ;
}
Система. навън . println ( ) ;
}

Ще използваме вече създадения масив с име „ обр ” и го предайте на „ columnWiseSorting() ” като първи параметър и „ 1 ” като втори параметър:

columnWiseSorting ( обр , 1 ) ;

Изпълнението на горепосочената програма ще сортира първата колона от нашия 2D масив:

Ние компилираме цялата съществена информация за сортиране на 2D масива в Java.

Заключение

В Java 2D масив може да бъде сортиран по ред или по колона според изискванията. За сортиране по ред се използва само методът Array.sort(); обаче, при сортиране по колони, методът Array.sort() се извиква с интерфейса Comparator. За сортиране по редове не се предава параметър към метода Array.sort(), докато в метода за сортиране по колони броят на колоните, които трябва да бъдат сортирани, се споменава като параметър. Този урок обсъжда методите за сортиране на 2D масив в Java с примери.