Jak sortować tablicę 2d w Javie

Jak Sortowac Tablice 2d W Javie



Tablica dwuwymiarowa lub dwuwymiarowa to zbiór kolumn i wierszy. Programiści mogą losowo uzyskać dostęp do elementów tablicy 2D lub każdej komórki indywidualnie, wykorzystując ich indeksy. Za pomocą sortowania elementy tablicy są uporządkowane zgodnie z wymaganiami, w kolejności rosnącej lub malejącej. Dokładniej, Java” Tablica.sort() ” można wykorzystać do elementów tablicy 2D w programie.

W tym samouczku omówimy, jak sortować tablice 2D w Javie.

Jak sortować tablicę 2D w Javie?

W Javie możesz posortować tablicę 2D za pomocą:







Omówimy teraz kolejno każdą z wymienionych metod.



Metoda 1: Wierszowe sortowanie tablicy 2D w Javie

W sortowaniu rzędowym można wykorzystać „ Tablica.sort() ” metoda sortowania elementów tablicy. Iteruje każdy element określonego wiersza i zamienia liczby całkowite, gdy bieżący element jest większy niż następny.



Sprawdźmy przykład, aby zrozumieć stronę implementacji.





Przykład
W tym przykładzie najpierw stworzymy metodę statyczną „ sortowanie rowWise() ”, aby posortować tablicę w kolejności rosnącej, wywołując „ Tablice.sort() ” klasy Arrays, a następnie wypisz posortowane elementy tablicy za pomocą „ dla pętle:

statyczny int wierszWiseSorting ( int Arr [ ] [ ] ) {
dla ( int i = 0 ; i < przyb. długość ; i ++ ) {
Tablice. sortować ( Arr [ i ] ) ;
}
dla ( int i = 0 ; i < przyb. długość ; i ++ ) {
dla ( int j = 0 ; j < Arr [ i ] . długość ; j ++ ) {
System. na zewnątrz . wydrukować ( Arr [ i ] [ j ] + ' ' ) ;
}
System. na zewnątrz . drukuj ( ) ;
}
zwrócić 0 ;
}

Tutaj mamy tablicę 2D o nazwie „ Arr ” w postaci matrycy 3×3 (trzy wiersze i trzy kolumny). Teraz, aby posortować wiersze utworzonej tablicy, wywołamy metodę „ sortowanie rowWise() ” przekazując tablicę jako argument w metodzie main():



publiczny statyczny próżnia Główny ( Strunowy [ ] argumenty ) {
int Arr [ ] [ ] = Nowy int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , 20 } ,
{ 28 , 25 , 8 } ,
{ jedenaście , 5 , 1 } } ;
wierszWiseSorting ( Arr ) ;
}
}

Jak widać, posortowaliśmy naszą tablicę w kolejności rosnącej:

Chcesz wypróbować sortowanie według kolumn w Javie? Zajrzyj do następnej sekcji.

Metoda 2: Kolumnowe sortowanie tablicy 2D w Javie

Aby posortować tablicę 2D w języku Java w kolumnach, wywołaj „ Tablice.sort() ” metoda z „ Interfejs komparatora ”. Interfejs komparatora definiuje „ porównywać() ” metoda, która akceptuje dwa parametry, a następnie porównuje je ze sobą. Jeśli przekazane parametry są równe, zwraca zero. Jeśli 1. parametr jest większy niż 2. parametr, zwracana jest wartość dodatnia. Jeśli nie, zwracana jest wartość ujemna.

Przykład
W tym przykładzie utworzymy metodę o nazwie „ kolumnaWiseSorting() ” z dwoma argumentami, tablica 2D “ przyp[][] ” i numer kolumny o nazwie „ Przegląd ”. Następnie zadzwoń do „ Tablice.sort() ” metoda z „ Interfejs komparatora ”, aby porównać wartości kolumny. Na koniec wypiszemy wartości posortowanej kolumny tablicy za pomocą „ dla pętle:

statyczny próżnia kolumnaWiseSorting ( int Arr [ ] [ ] , int Przegląd ) {
Tablice. sortować ( Arr , Nowy Komparator < int [ ] > ( ) {
publiczny int porównywać ( int [ ] pierwszy , int [ ] scnd ) {
jeśli ( pierwszy [ Przegląd - 1 ] > scnd [ Przegląd - 1 ] ) {
zwrócić 1 ;
}
w przeciwnym razie zwrócić - 1 ;
}
} ) ;
}
dla ( int i = 0 ; i < przyb. długość ; i ++ ) {
dla ( int j = 0 ; j < Arr [ i ] . długość ; j ++ ) {
System. na zewnątrz . wydrukować ( Arr [ i ] [ j ] + ' ' ) ;
}
System. na zewnątrz . drukuj ( ) ;
}

Wykorzystamy już utworzoną tablicę o nazwie „ Arr ” i przekaż go do „ kolumnaWiseSorting() ” jako pierwszy parametr i „ 1 ” jako drugi parametr:

kolumnaWiseSorting ( Arr , 1 ) ;

Wykonanie powyższego programu posortuje pierwszą kolumnę naszej tablicy 2D:

Kompilujemy wszystkie niezbędne informacje, aby posortować tablicę 2D w Javie.

Wniosek

W Javie tablicę 2D można sortować rzędowo lub kolumnowo, zgodnie z wymaganiami. W przypadku sortowania wierszowego używana jest tylko metoda Array.sort(); jednak w sortowaniu kolumnowym metoda Array.sort() jest wywoływana z interfejsem Comparator. W przypadku sortowania wierszowego żaden parametr nie jest przekazywany do metody Array.sort(), podczas gdy w metodzie sortowania kolumnowego liczba kolumn, które należy posortować, jest podana jako parametr. W tym samouczku omówiono metody sortowania tablicy 2D w Javie z przykładami.