Bu öğretici, Java'da 2B dizilerin nasıl sıralanacağını tartışacaktır.
Java'da 2D Dizi Nasıl Sıralanır?
Java'da bir 2B diziyi aşağıdakileri kullanarak sıralayabilirsiniz:
Şimdi bahsedilen yöntemlerin her birini tek tek tartışacağız.
Yöntem 1: Java'da 2B Dizinin satır bazında sıralanması
Satır bazında sıralamada, “ Dizi.sort() ” dizi öğelerini sıralama yöntemi. Belirli bir satırın her bir öğesini yineler ve mevcut öğe bir sonrakinden daha büyük olduğunda tam sayıları değiştirir.
Uygulama tarafını anlamak için bir örneğe bakalım.
Örnek
Bu örnekte önce statik bir metot oluşturacağız” satır BilgeSıralama() ” öğesini çağırarak diziyi artan düzende sıralamak için Diziler.sort() Arrays sınıfının ” yöntemini kullanın ve ardından dizinin sıralanmış öğelerini “ kullanarak yazdırın. için ” döngüler:
için ( int i = 0 ; i < arr. uzunluk ; i ++ ) {
Diziler. çeşit ( varış [ i ] ) ;
}
için ( int i = 0 ; i < arr. uzunluk ; i ++ ) {
için ( int j = 0 ; j < varış [ i ] . uzunluk ; j ++ ) {
Sistem. dışarı . Yazdır ( varış [ i ] [ j ] + ' ' ) ;
}
Sistem. dışarı . println ( ) ;
}
dönüş 0 ;
}
Burada “adlı bir 2B dizimiz var. varış ” 3×3 matris formunun (üç satır ve üç sütun). Şimdi oluşturulan dizinin satırlarını sıralamak için metodu çağıracağız. satır BilgeSıralama() diziyi main() yönteminde argüman olarak ileterek:
halka açık statik geçersiz ana ( Sicim [ ] argümanlar ) {
int varış [ ] [ ] = yeni int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , yirmi } ,
{ 28 , 25 , 8 } ,
{ on bir , 5 , 1 } } ;
sıraAkıllıSıralama ( varış ) ;
}
}
Gördüğünüz gibi dizimizi artan düzende sıraladık:
Java'da sütun bazında sıralamayı denemek ister misiniz? Aşağıdaki bölüme bir göz atın.
Yöntem 2: Java'da 2B Dizinin sütun bazında sıralanması
Java'da bir 2B Diziyi sütun bazında sıralamak için, ' Diziler.sort() ' ile ' yöntemi Karşılaştırıcı arayüzü ”. Bir Karşılaştırıcı arabirimi, bir ' karşılaştırmak() ” iki parametreyi kabul eden ve ardından bunları birbirleriyle karşılaştıran yöntem. Geçilen parametreler eşitse, sıfır döndürür. 1. parametre 2. parametreden büyükse pozitif bir değer döndürür. Değilse, negatif bir değer döndürülür.
Örnek
Bu örnekte “adlı bir metot oluşturacağız. sütun BilgeSıralama() ” iki argümanla, bir 2B dizi” arr[][] ” ve “ adlı bir sütun numarası genel bakış ”. Ardından, ' Diziler.sort() ” yöntemi ile “ Karşılaştırıcı arayüzü ” bir sütunun değerlerini karşılaştırmak için. Son olarak, “ kullanarak dizinin sıralanmış sütununun değerlerini yazdıracağız. için ” döngüler:
Diziler. çeşit ( varış , yeni karşılaştırıcı < int [ ] > ( ) {
halka açık int karşılaştırmak ( int [ ] ilk , int [ ] scnd ) {
eğer ( ilk [ genel bakış - 1 ] > scnd [ genel bakış - 1 ] ) {
dönüş 1 ;
}
başka dönüş - 1 ;
}
} ) ;
}
için ( int i = 0 ; i < arr. uzunluk ; i ++ ) {
için ( int j = 0 ; j < varış [ i ] . uzunluk ; j ++ ) {
Sistem. dışarı . Yazdır ( varış [ i ] [ j ] + ' ' ) ;
}
Sistem. dışarı . println ( ) ;
}
“ adlı önceden oluşturulmuş diziyi kullanacağız. varış ” ve “ sütun BilgeSıralama() ” ilk parametre olarak ve “ 1 ” ikinci parametre olarak:
sütunBilgeSıralama ( varış , 1 ) ;
Yukarıda verilen programın yürütülmesi, 2B dizimizin ilk sütununu sıralayacaktır:
2B diziyi Java'da sıralamak için gerekli tüm bilgileri derliyoruz.
Çözüm
Java'da bir 2B dizi, gereksinimlere göre satır bazında veya sütun bazında sıralanabilir. Satır bazında sıralama için yalnızca Array.sort() yöntemi kullanılır; ancak sütun bazında sıralamada, Karşılaştırıcı arabirimiyle Array.sort() yöntemi çağrılır. Satır bazında sıralama için Array.sort() yöntemine hiçbir parametre iletilmez, oysa sütun bazında sıralama yönteminde sıralanması gereken sütun sayısı parametre olarak belirtilir. Bu öğretici, Java'da 2B diziyi örneklerle sıralama yöntemlerini tartıştı.