Hoe 2D-array in Java te sorteren

Hoe 2d Array In Java Te Sorteren



Een tweedimensionale of 2D-array is een verzameling kolommen en rijen. Programmeurs kunnen willekeurig toegang krijgen tot de 2D-array-elementen of elke cel afzonderlijk door hun indexen te gebruiken. Met behulp van sortering worden array-elementen gerangschikt volgens de vereisten, zowel in oplopende als aflopende volgorde. Meer specifiek, de Java “ Array.sort() ” kan worden gebruikt voor de elementen van een 2D-array binnen een programma.

In deze zelfstudie wordt besproken hoe u 2D-arrays in Java kunt sorteren.

Hoe 2D-array in Java te sorteren?

In Java kunt u een 2D-array sorteren met:







We zullen nu elk van de genoemde methoden één voor één bespreken.



Methode 1: Rijgewijs sorteren van 2D-array in Java

Bij rijgewijs sorteren kunt u de ' Array.sort() ” methode om de array-elementen te sorteren. Het herhaalt elk element van een specifieke rij en verwisselt de gehele getallen wanneer het huidige element groter is dan het volgende.



Laten we een voorbeeld bekijken om de implementatiekant te begrijpen.





Voorbeeld
In dit voorbeeld zullen we eerst een statische methode maken “ rijWiseSorting() ' om de array in oplopende volgorde te sorteren door ' Arrays.sort() ” van de klasse Arrays en druk vervolgens de gesorteerde elementen van de array af met “ voor ” lussen:

statisch int rijWiseSorting ( int arr [ ] [ ] ) {
voor ( int i = 0 ; i < arr. lengte ; i ++ ) {
Arrays. soort ( arr [ i ] ) ;
}
voor ( int i = 0 ; i < arr. lengte ; i ++ ) {
voor ( int j = 0 ; j < arr [ i ] . lengte ; j ++ ) {
Systeem. uit . afdrukken ( arr [ i ] [ j ] + ' ' ) ;
}
Systeem. uit . println ( ) ;
}
opbrengst 0 ;
}

Hier hebben we een 2D-array met de naam ' arr ” van 3 × 3 matrixvorm (drie rijen en drie kolommen). Om nu de rijen van de gemaakte array te sorteren, noemen we de methode ' rijWiseSorting() ” door array als argument door te geven in de methode main():



openbaar statisch leegte hoofd ( Snaar [ ] argumenten ) {
int arr [ ] [ ] = nieuwe int [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , twintig } ,
{ 28 , 25 , 8 } ,
{ elf , 5 , 1 } } ;
rijWiseSorting ( arr ) ;
}
}

Zoals je kunt zien, hebben we onze array in oplopende volgorde gesorteerd:

Wilt u kolomsgewijs sorteren in Java uitproberen? Kijk eens naar de volgende sectie.

Methode 2: Kolomgewijs sorteren van 2D-array in Java

Om een ​​2D-array in Java kolomsgewijs te sorteren, roept u de ' Arrays.sort() ” methode met een “ Vergelijkingsinterface ”. Een Comparator-interface definieert een ' vergelijken() ” methode die twee parameters accepteert en vervolgens met elkaar vergelijkt. Als de doorgegeven parameters gelijk zijn, wordt nul geretourneerd. Als de 1e parameter groter is dan de 2e parameter, wordt een positieve waarde geretourneerd. Als dit niet het geval is, wordt een negatieve waarde geretourneerd.

Voorbeeld
In dit voorbeeld zullen we een methode maken met de naam ' columnWiseSorting() ” met twee argumenten, een 2D-array “ arr[][] ” en een kolomnummer met de naam “ Overzicht ”. Bel dan de “ Arrays.sort() ” methode met de “ Vergelijkingsinterface ” om de waarden van een kolom te vergelijken. Ten slotte zullen we de waarden van de gesorteerde kolom van de array afdrukken met ' voor ” lussen:

statisch leegte columnWiseSorting ( int arr [ ] [ ] , int Overzicht ) {
Arrays. soort ( arr , nieuwe Comparator < int [ ] > ( ) {
openbaar int vergelijken ( int [ ] eerst , int [ ] scnd ) {
als ( eerst [ Overzicht - 1 ] > scnd [ Overzicht - 1 ] ) {
opbrengst 1 ;
}
anders opbrengst - 1 ;
}
} ) ;
}
voor ( int i = 0 ; i < arr. lengte ; i ++ ) {
voor ( int j = 0 ; j < arr [ i ] . lengte ; j ++ ) {
Systeem. uit . afdrukken ( arr [ i ] [ j ] + ' ' ) ;
}
Systeem. uit . println ( ) ;
}

We zullen de reeds gemaakte array met de naam ' arr ” en geef het door aan de “ columnWiseSorting() ” als eerste parameter en “ 1 ” als de tweede parameter:

columnWiseSorting ( arr , 1 ) ;

Uitvoering van het hierboven gegeven programma sorteert de eerste kolom van onze 2D-array:

We verzamelen alle essentiële informatie om de 2D-array in Java te sorteren.

Conclusie

In Java kan een 2D-array volgens de vereisten rijsgewijs of kolomsgewijs worden gesorteerd. Voor rijgewijze sortering wordt alleen de methode Array.sort() gebruikt; bij kolomgewijze sortering wordt de methode Array.sort() echter aangeroepen met de Comparator-interface. Voor rijgewijze sortering wordt geen parameter doorgegeven aan de Array.sort()-methode, terwijl bij de kolomgewijze sorteermethode het aantal kolommen dat moet worden gesorteerd als parameter wordt vermeld. Deze tutorial besprak de methoden om de 2D-array in Java te sorteren met voorbeelden.