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:
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:
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.