Jak třídit 2D pole v Javě

Jak Tridit 2d Pole V Jave



Dvourozměrné nebo 2D pole je kolekce sloupců a řádků. Programátoři mohou náhodně přistupovat k prvkům 2D pole nebo ke každé buňce jednotlivě pomocí jejich indexů. Pomocí řazení jsou prvky pole uspořádány podle požadavků, ať už vzestupně nebo sestupně. Přesněji řečeno, Java „ Array.sort() ” lze použít pro prvky 2D pole v programu.

Tento tutoriál bude diskutovat o tom, jak třídit 2D pole v Javě.

Jak třídit 2D pole v Javě?

V Javě můžete třídit 2D pole pomocí:







Nyní probereme každou ze zmíněných metod jednu po druhé.



Metoda 1: Řazení 2D Array v Javě po řádcích

Při řazení po řádcích můžete použít „ Array.sort() ” metoda k řazení prvků pole. Iteruje každý prvek určitého řádku a zamění celá čísla, když je aktuální prvek větší než následující.



Podívejme se na příklad, abychom pochopili stránku implementace.





Příklad
V tomto příkladu nejprve vytvoříme statickou metodu “ rowWiseSorting() ” pro seřazení pole ve vzestupném pořadí voláním “ Arrays.sort() ” metody třídy Arrays a poté vytiskněte seřazené prvky pole pomocí “ pro “smyčky:

statický int rowWiseSorting ( int arr [ ] [ ] ) {
pro ( int i = 0 ; i < arr. délka ; i ++ ) {
Pole. seřadit ( arr [ i ] ) ;
}
pro ( int i = 0 ; i < arr. délka ; i ++ ) {
pro ( int j = 0 ; j < arr [ i ] . délka ; j ++ ) {
Systém. ven . tisk ( arr [ i ] [ j ] + '' ) ;
}
Systém. ven . println ( ) ;
}
vrátit se 0 ;
}

Zde máme 2D pole s názvem „ arr ” ve formě matice 3×3 (tři řádky a tři sloupce). Nyní, abychom seřadili řádky vytvořeného pole, zavoláme metodu „ rowWiseSorting() ” předáním pole jako argumentu v metodě main():



veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
int arr [ ] [ ] = Nový int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , dvacet } ,
{ 28 , 25 , 8 } ,
{ jedenáct , 5 , 1 } } ;
rowWiseSorting ( arr ) ;
}
}

Jak můžete vidět, seřadili jsme naše pole vzestupně:

Chcete si vyzkoušet řazení po sloupcích v Javě? Podívejte se na následující sekci.

Metoda 2: Sloupcové řazení 2D Array v Javě

Chcete-li třídit 2D pole v Javě po sloupcích, zavolejte „ Arrays.sort() “ metoda s “ Rozhraní komparátoru “. Rozhraní komparátoru definuje „ porovnat() ” metoda, která přijímá dva parametry a poté je vzájemně porovnává. Pokud jsou předané parametry stejné, vrátí nulu. Pokud je 1. parametr větší než 2. parametr, vrací kladnou hodnotu. Pokud ne, vrátí se záporná hodnota.

Příklad
V tomto příkladu vytvoříme metodu s názvem „ columnWiseSorting() 'se dvěma argumenty, 2D pole' arr[][] “ a číslo sloupce s názvem „ přehled “. Poté zavolejte na „ Arrays.sort() “ metoda s “ Rozhraní komparátoru ” pro porovnání hodnot sloupce. Nakonec vytiskneme hodnoty seřazeného sloupce pole pomocí „ pro “smyčky:

statický prázdnota columnWiseSorting ( int arr [ ] [ ] , int přehled ) {
Pole. seřadit ( arr , Nový Komparátor < int [ ] > ( ) {
veřejnost int porovnat ( int [ ] první , int [ ] scnd ) {
-li ( první [ přehled - 1 ] > scnd [ přehled - 1 ] ) {
vrátit se 1 ;
}
jiný vrátit se - 1 ;
}
} ) ;
}
pro ( int i = 0 ; i < arr. délka ; i ++ ) {
pro ( int j = 0 ; j < arr [ i ] . délka ; j ++ ) {
Systém. ven . tisk ( arr [ i ] [ j ] + '' ) ;
}
Systém. ven . println ( ) ;
}

Využijeme již vytvořené pole s názvem „ arr “ a předejte jej do „ columnWiseSorting() “ jako první parametr a “ 1 ” jako druhý parametr:

columnWiseSorting ( arr , 1 ) ;

Provedení výše uvedeného programu seřadí první sloupec našeho 2D pole:

Zkompilujeme všechny podstatné informace pro třídění 2D pole v Javě.

Závěr

V Javě lze 2D pole třídit po řádcích nebo sloupcích podle požadavků. Pro řazení po řádcích se používá pouze metoda Array.sort(); při třídění po sloupcích se však metoda Array.sort() volá pomocí rozhraní Comparator. Pro řazení po řádcích se metodě Array.sort() nepředává žádný parametr, zatímco u metody řazení po sloupcích je jako parametr uveden počet sloupců, které je třeba seřadit. Tento tutoriál probíral metody pro třídění 2D pole v Javě s příklady.