Πώς να ταξινομήσετε 2d Array σε Java

Pos Na Taxinomesete 2d Array Se Java



Ένας δισδιάστατος ή δισδιάστατος πίνακας είναι μια συλλογή στηλών και γραμμών. Οι προγραμματιστές μπορούν να έχουν τυχαία πρόσβαση στα στοιχεία του πίνακα 2D ή σε κάθε κελί ξεχωριστά, χρησιμοποιώντας τα ευρετήριά τους. Με τη βοήθεια της ταξινόμησης, τα στοιχεία του πίνακα διατάσσονται σύμφωνα με τις απαιτήσεις, είτε σε αύξουσα είτε με φθίνουσα σειρά. Πιο συγκεκριμένα, η Java ' Array.sort() ” μπορεί να χρησιμοποιηθεί για τα στοιχεία ενός πίνακα 2D μέσα σε ένα πρόγραμμα.

Αυτό το σεμινάριο θα συζητήσει πώς να ταξινομήσετε 2D πίνακες σε Java.

Πώς να ταξινομήσετε 2D Array σε Java;

Στην Java, μπορείτε να ταξινομήσετε έναν πίνακα 2D χρησιμοποιώντας:







Θα συζητήσουμε τώρα κάθε μία από τις αναφερόμενες μεθόδους μία προς μία.



Μέθοδος 1: Ταξινόμηση κατά σειρά 2D Array σε Java

Στην ταξινόμηση κατά σειρά, μπορείτε να χρησιμοποιήσετε το ' Array.sort() ” μέθοδος ταξινόμησης των στοιχείων του πίνακα. Επαναλαμβάνει κάθε στοιχείο μιας συγκεκριμένης σειράς και ανταλλάσσει τους ακέραιους όταν το τρέχον στοιχείο είναι μεγαλύτερο από το επόμενο.



Ας δούμε ένα παράδειγμα για να κατανοήσουμε την πλευρά υλοποίησης.





Παράδειγμα
Σε αυτό το παράδειγμα, πρώτα θα δημιουργήσουμε μια στατική μέθοδο ' rowWiseSorting() ' για να ταξινομήσετε τον πίνακα σε αύξουσα σειρά καλώντας ' Arrays.sort() ' μέθοδος της κλάσης Arrays και στη συνέχεια εκτυπώστε τα ταξινομημένα στοιχεία του πίνακα χρησιμοποιώντας ' Για ' βρόχοι:

στατικός ενθ rowWiseSorting ( ενθ αρ [ ] [ ] ) {
Για ( ενθ Εγώ = 0 ; Εγώ < αρ. μήκος ; Εγώ ++ ) {
Πίνακες. είδος ( αρ [ Εγώ ] ) ;
}
Για ( ενθ Εγώ = 0 ; Εγώ < αρ. μήκος ; Εγώ ++ ) {
Για ( ενθ ι = 0 ; ι < αρ [ Εγώ ] . μήκος ; ι ++ ) {
Σύστημα. έξω . Τυπώνω ( αρ [ Εγώ ] [ ι ] + '' ) ;
}
Σύστημα. έξω . println ( ) ;
}
ΕΠΙΣΤΡΟΦΗ 0 ;
}

Εδώ, έχουμε έναν πίνακα 2D με το όνομα ' αρ ” της μορφής μήτρας 3×3 (τρεις σειρές και τρεις στήλες). Τώρα, για να ταξινομήσουμε τις σειρές του δημιουργημένου πίνακα, θα καλέσουμε τη μέθοδο ' rowWiseSorting() ” μεταβιβάζοντας τον πίνακα ως όρισμα στη μέθοδο main():



δημόσιο στατικός κενός κύριος ( Σειρά [ ] args ) {
ενθ αρ [ ] [ ] = νέος ενθ [ ] [ ] {
{ 12 , 14 , 4 } ,
{ 14 , 23 , είκοσι } ,
{ 28 , 25 , 8 } ,
{ έντεκα , 5 , 1 } } ;
rowWiseSorting ( αρ ) ;
}
}

Όπως μπορείτε να δείτε, έχουμε ταξινομήσει τον πίνακα μας σε αύξουσα σειρά:

Θέλετε να δοκιμάσετε την ταξινόμηση κατά στήλη σε Java; Ρίξτε μια ματιά στην παρακάτω ενότητα.

Μέθοδος 2: Ταξινόμηση κατά στήλη 2D Array σε Java

Για να ταξινομήσετε κατά στήλη έναν πίνακα 2D σε Java, καλέστε το ' Arrays.sort() 'μέθοδος με ' Διασύνδεση σύγκρισης '. Μια διεπαφή σύγκρισης ορίζει ένα ' συγκρίνω() ” μέθοδος που δέχεται δύο παραμέτρους και στη συνέχεια τις συγκρίνει μεταξύ τους. Εάν οι παράμετροι που πέρασαν είναι ίσες, επιστρέφει μηδέν. Εάν η 1η παράμετρος είναι μεγαλύτερη από τη 2η παράμετρο, επιστρέφει μια θετική τιμή. Εάν όχι, επιστρέφεται μια αρνητική τιμή.

Παράδειγμα
Σε αυτό το παράδειγμα, θα δημιουργήσουμε μια μέθοδο με το όνομα ' στήληWiseSorting() 'με δύο ορίσματα, έναν πίνακα 2D' arr[][] ' και έναν αριθμό στήλης με όνομα ' ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ '. Στη συνέχεια, καλέστε το ' Arrays.sort() μέθοδος με το « Διασύνδεση σύγκρισης ” για να συγκρίνετε τις τιμές μιας στήλης. Τέλος, θα εκτυπώσουμε τις τιμές της ταξινομημένης στήλης του πίνακα χρησιμοποιώντας ' Για ' βρόχοι:

στατικός κενός στήληWiseSorting ( ενθ αρ [ ] [ ] , ενθ ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ ) {
Πίνακες. είδος ( αρ , νέος Συγκριτής < ενθ [ ] > ( ) {
δημόσιο ενθ συγκρίνω ( ενθ [ ] πρώτον , ενθ [ ] scnd ) {
αν ( πρώτον [ ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ - 1 ] > scnd [ ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ - 1 ] ) {
ΕΠΙΣΤΡΟΦΗ 1 ;
}
αλλού ΕΠΙΣΤΡΟΦΗ - 1 ;
}
} ) ;
}
Για ( ενθ Εγώ = 0 ; Εγώ < αρ. μήκος ; Εγώ ++ ) {
Για ( ενθ ι = 0 ; ι < αρ [ Εγώ ] . μήκος ; ι ++ ) {
Σύστημα. έξω . Τυπώνω ( αρ [ Εγώ ] [ ι ] + '' ) ;
}
Σύστημα. έξω . println ( ) ;
}

Θα χρησιμοποιήσουμε τον ήδη δημιουργημένο πίνακα με το όνομα ' αρ ' και περάστε το στο ' στήληWiseSorting() 'ως πρώτη παράμετρος και ' 1 ” ως δεύτερη παράμετρος:

στήληWiseSorting ( αρ , 1 ) ;

Η εκτέλεση του παραπάνω προγράμματος θα ταξινομήσει την πρώτη στήλη του δισδιάστατου πίνακα μας:

Συγκεντρώνουμε όλες τις βασικές πληροφορίες για την ταξινόμηση του πίνακα 2D σε Java.

συμπέρασμα

Στην Java, ένας πίνακας 2D μπορεί να ταξινομηθεί κατά σειρά ή κατά στήλη σύμφωνα με τις απαιτήσεις. Για ταξινόμηση κατά σειρά, χρησιμοποιείται μόνο η μέθοδος Array.sort(). Ωστόσο, στην ταξινόμηση κατά στήλη, η μέθοδος Array.sort() καλείται με τη διεπαφή Comparator. Για ταξινόμηση κατά σειρά, καμία παράμετρος δεν μεταβιβάζεται στη μέθοδο Array.sort(), ενώ, στη μέθοδο ταξινόμησης κατά στήλη, ο αριθμός των στηλών που πρέπει να ταξινομηθούν αναφέρεται ως παράμετρος. Αυτό το σεμινάριο εξέτασε τις μεθόδους ταξινόμησης του πίνακα 2D σε Java με παραδείγματα.