java array class tutorial java
Αυτό το σεμινάριο καλύπτει την κατηγορία Array στην Java και τις μεθόδους της κλάσης java.util.arrays μαζί με τη λεπτομερή περιγραφή και τα παραδείγματα μεθόδων της κατηγορίας Array:
Η τάξη «Arrays» είναι μέλος του πακέτου «java.util». Αυτό είναι μέρος του πλαισίου Συλλογές Java και παρέχει μεθόδους για τη δημιουργία, πρόσβαση και χειρισμό δυναμικών συστοιχιών Java.
Όλες οι μέθοδοι που παρέχονται από την κατηγορία Arrays είναι στατικής φύσης και είναι μέθοδοι της κλάσης 'Object'. Καθώς οι μέθοδοι είναι στατικές, είναι προσβάσιμες χρησιμοποιώντας το ίδιο το όνομα της τάξης.
=> Ελέγξτε ΟΛΑ τα Εκπαιδευτικά Java εδώ.
Τι θα μάθετε:
Τάξη Java Array
Η κλάση των συστοιχιών εισήχθη στην Java 1.2 και οι μέθοδοι που περιέχει χρησιμοποιούνται κυρίως για χειρισμό του πίνακα, συμπεριλαμβανομένης της αναζήτησης, της ταξινόμησης κ.λπ. Η κλάση συστοιχιών παρέχει υπερφορτωμένες μεθόδους για σχεδόν όλους τους τύπους δεδομένων.
Η κλάση ιεραρχίας για συστοιχίες εμφανίζεται παρακάτω:
Η κλάση Arrays επεκτείνεται από την κλάση αντικειμένων και οι μέθοδοι της είναι μέθοδοι της κλάσης αντικειμένων.
Η γενική σύνταξη για πρόσβαση σε οποιαδήποτε μέθοδο της κλάσης Arrays είναι:
Arrays.;
Στην επερχόμενη ενότητα, θα παραθέσουμε τις διάφορες μεθόδους που παρέχονται από την κατηγορία Arrays.
Μέθοδοι συστοιχιών Java
Οι παρακάτω πίνακες δίνουν μια εισαγωγή στις διάφορες μεθόδους που παρέχονται από την κατηγορία Arrays. Εδώ παραθέτουμε τις κύριες μεθόδους. Σημειώστε ότι οι περισσότερες από τις μεθόδους είναι υπερφορτωμένες για να παρέχουν υποστήριξη για όλους τους πρωτόγονους τύπους.
Θα παραθέσουμε το πρωτότυπο και την περιγραφή κάθε μιας από τις συναρτήσεις. Στη συνέχεια, στην επόμενη ενότητα, θα περιγράψουμε μερικές από τις σημαντικές μεθόδους παρέχοντας παραδείγματα προγραμματισμού.
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
static int binarySearch (διπλό () a, int fromIndex, int toIndex, διπλό κλειδί) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε έναν διπλό πίνακα | |
ως λίστα | στατική λίστα< T> asList (Αντικείμενο () α) | Επιστρέφει μια λίστα (σταθερού μεγέθους) από καθορισμένο πίνακα |
binarySearch Αυτή η μέθοδος χρησιμοποιεί τον αλγόριθμο δυαδικής αναζήτησης. Στην επόμενη στήλη εμφανίζονται διάφορες υπερφορτώσεις της μεθόδου binarySearch. | static int binarySearch (byte () a, κλειδί byte) | Αναζητά ένα κλειδί σε έναν πίνακα byte |
static int binarySearch (byte () a, int fromIndex, int toIndex, κλειδί byte) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε έναν πίνακα byte | |
static int binarySearch (char () a, πλήκτρο char) | Αναζητά ένα κλειδί σε έναν πίνακα χαρακτήρων | |
static int binarySearch (char () a, int fromIndex, int toIndex, char key) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε έναν πίνακα χαρακτήρων | |
static int binarySearch (διπλό () a, διπλό πλήκτρο) | Αναζητά ένα κλειδί σε έναν διπλό πίνακα | |
static int binarySearch (float () a, float key) | Αναζητά ένα κλειδί σε μια σειρά από επιπλέοντα | |
static int binarySearch (float () a, int fromIndex, int toIndex, float key) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε έναν πίνακα πλωτών | |
static int binarySearch (int () a, int key) | Αναζητά ένα κλειδί σε έναν πίνακα | |
static int binarySearch (int () a, int fromIndex, int toIndex, int key) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε έναν πίνακα | |
static int binarySearch (long () a, long key) | Αναζητά ένα κλειδί σε μεγάλη σειρά | |
static int binarySearch (long () a, int fromIndex, int toIndex, long key) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε μεγάλη σειρά | |
static int binarySearch (Object () a, Object key) | Αναζητά ένα κλειδί σε έναν πίνακα αντικειμένων | |
static int binarySearch (Object () a, int fromIndex, int toIndex, Object key) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος στη σειρά αντικειμένων | |
static int binarySearch (σύντομο () a, σύντομο πλήκτρο) | Αναζητά ένα κλειδί σε μια σειρά από σορτς | |
static int binarySearch (σύντομο () a, int fromIndex, int toIndex, σύντομο πλήκτρο) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε μια σειρά σορτς | |
static int binarySearch (T () a, T key, Συγκριτής γ) | Αναζητά ένα κλειδί σε μια σειρά καθορισμένων αντικειμένων | |
static int binarySearch (T () a, int fromIndex, int toIndex, T key, Συγκριτής c) | Αναζητά το κλειδί σε ολόκληρο το καθορισμένο εύρος σε σειρά αντικειμένων |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
static long () copyOf (long () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
αντίγραφο της Η μέθοδος χρησιμοποιείται για την αντιγραφή του πίνακα με το καθορισμένο μήκος. Στην επόμενη στήλη παρατίθενται οι υπερφορτώσεις αυτής της μεθόδου | στατικό boolean () copyOf (boolean () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσαρτά τις τιμές «false» εάν είναι απαραίτητο |
στατικό byte () copyOf (byte () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό char () copyOf (char () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδέν, εάν είναι απαραίτητο | |
στατικό διπλό () copyOf (διπλό () πρωτότυπο, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό float () copyOf (float () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό int () copyOf (int () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό σύντομο () copyOf (σύντομο () πρωτότυπο, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό T () copyOf (T () original, int newLength) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
στατικό T () copyOf (U () original, int newLength, ClassnewType) | Αντιγράφει τον καθορισμένο πίνακα. Περικοπεί ή προσθέτει μηδενικά εάν είναι απαραίτητο | |
copyOfRange Αυτή η μέθοδος χρησιμοποιείται για την αντιγραφή ενός καθορισμένου εύρους στον πίνακα. Οι υπερφορτώσεις για αυτήν τη μέθοδο δίνονται στην επόμενη στήλη | στατικό boolean () copyOfRange (boolean () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα |
στατικό byte () copyOfRange (byte () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό char () copyOfRange (char () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό διπλό () copyOfRange (διπλό () πρωτότυπο, int από, int έως) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό float () copyOfRange (float () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό int () copyOfRange (int () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
static long () copyOfRange (long () original, int from, int έως) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό σύντομο () copyOfRange (σύντομο () πρωτότυπο, int από, int έως) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό T () copyOfRange (T () original, int from, int to) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα | |
στατικό T () copyOfRange (U () original, int from, int to, ClassnewType) | Αντιγράφει τον πίνακα με καθορισμένο εύρος σε έναν νέο πίνακα |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
στατικό boolean ισούται με (διπλό () a, διπλό () a2) | Επιστρέφει true αν οι δύο καθορισμένοι διπλοί πίνακες είναι ίσοι. | |
deepEquals | στατικά boolean deepEquals (Object () a1, Object () a2) | Ελέγχει εάν δύο καθορισμένες συστοιχίες είναι βαθιά ίσες |
deepHashCode | static intdeepHashCode (αντικείμενο () α) | Επιστρέφει έναν κωδικό κατακερματισμού του καθορισμένου πίνακα |
deepToString | στατικό StringdeepToString (αντικείμενο () α) | Επιστρέφει τα «βαθιά περιεχόμενα» του καθορισμένου πίνακα σε μια συμβολοσειρά |
Ισούται Ελέγχει εάν δύο καθορισμένες συστοιχίες είναι ίσες | στατικά boolean ισούται με (boolean () a, boolean () a2) | Επιστρέφει true αν τα δύο καθορισμένα booleanarrays είναι ίδια. |
στατικό boolean ισούται με (byte () a, byte () a2) | Επιστρέφει true αν οι δύο καθορισμένες συστοιχίες byte είναι ίσες | |
στατικό boolean ισούται με (char () a, char () a2) | Επιστρέφει true αν οι δύο καθορισμένες συστοιχίες χαρακτήρων είναι ίσες. | |
στατικά boolean ισούται με (float () a, float () a2) | Επιστρέφει true αν οι δύο καθορισμένες συστοιχίες float είναι ίσες. | |
στατικό boolean ισούται με (int () a, int () a2) | Επιστρέφει true αν οι δύο καθορισμένοι πίνακες int είναι ίσοι. | |
στατικό boolean ισούται με (long () a, long () a2) | Επιστρέφει αληθές εάν οι δύο καθορισμένες μεγάλες σειρές είναι ίσες. | |
στατικό boolean ισούται με (Object () a, Object () a2) | Επιστρέφει true αν οι δύο καθορισμένες συστοιχίες αντικειμένων είναι ίσες. | |
στατικό boolean ισούται με (σύντομο () a, σύντομο () a2) | Επιστρέφει true αν οι δύο καθορισμένες σύντομες συστοιχίες είναι ίσες. |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
στατικό κενό πλήρωσης (διπλό () a, διπλό val) | Συμπληρώνει τη διπλή συστοιχία με καθορισμένη διπλή τιμή | |
γέμισμα Συμπληρώνει τον πίνακα (όλα τα στοιχεία) με την καθορισμένη τιμή. Η επόμενη στήλη δίνει τις υπερφορτώσεις για αυτήν τη συνάρτηση | στατική κενή πλήρωση (boolean () a, boolean val) | Συμπληρώνει το boolean array με μια καθορισμένη boolean τιμή |
στατική κενή πλήρωση (boolean () a, int fromIndex, int toIndex, boolean val) | Εκχωρεί μια τιμή boolean στο καθορισμένο εύρος στη σειρά boolean. | |
στατική κενή πλήρωση (byte () a, byte val) | Συμπληρώνει τον πίνακα byte με μια καθορισμένη τιμή byte | |
στατική κενή πλήρωση (byte () a, int fromIndex, int toIndex, byte val) | Συμπληρώνει τον πίνακα byte με καθορισμένη τιμή byte στο δεδομένο εύρος | |
στατική κενή πλήρωση (char () a, char val) | Συμπληρώνει τον πίνακα char με καθορισμένη τιμή char | |
στατική κενή πλήρωση (char () a, int fromIndex, int toIndex, char val) | Συμπληρώνει το εύρος συστοιχιών char με καθορισμένη τιμή char | |
στατική κενή πλήρωση (διπλό () a, int fromIndex, int toIndex, double val) | Εκχωρεί μια διπλή τιμή στο καθορισμένο εύρος στη διπλή συστοιχία. | |
στατική κενή πλήρωση (float () a, float val) | Εκχωρεί την τιμή float στο καθορισμένο εύρος της συστοιχίας float. | |
στατική κενή πλήρωση (float () a, int fromIndex, int toIndex, float val) | Εκχωρεί την τιμή float στο καθορισμένο εύρος της συστοιχίας float. | |
στατική κενή πλήρωση (int () a, int val) | Εκχωρεί τιμή int στον πίνακα int. | |
στατική κενή πλήρωση (int () a, int fromIndex, int toIndex, int val) | Εκχωρεί τιμή int στο καθορισμένο εύρος στον πίνακα int. | |
στατική κενή πλήρωση (long () a, int fromIndex, int toIndex, long val) | Αντιστοιχίζει μια μεγάλη τιμή στο καθορισμένο εύρος του μεγάλου πίνακα. | |
στατική κενή πλήρωση (long () a, long val) | Εκχωρεί μια μεγάλη τιμή στον μακρύ πίνακα. | |
στατική κενή πλήρωση (Object () a, int fromIndex, int toIndex, Object val) | Εκχωρεί αναφορά αντικειμένου σε καθορισμένο εύρος στη συστοιχία αντικειμένων. | |
στατική κενή πλήρωση (Object () a, Object val) | Εκχωρεί αναφορά αντικειμένου στην καθορισμένη συστοιχία αντικειμένων | |
στατική κενή πλήρωση (σύντομο () a, int fromIndex, int toIndex, short val) | Εκχωρεί μια σύντομη τιμή στο καθορισμένο εύρος στον σύντομο πίνακα. | |
στατική κενή πλήρωση (σύντομη () a, μικρή τιμή) | Εκχωρεί μια σύντομη τιμή στον καθορισμένο σύντομο πίνακα. |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
είδος στατικού κενού (float () a) | Ταξινόμηση της συστοιχίας float σε αύξουσα αριθμητική σειρά. | |
Είδος Ταξινόμηση του πίνακα που έχει περάσει ως παράμετρος στη μέθοδο. Οι υπερφορτώσεις δίνονται στην επόμενη στήλη. | είδος στατικού κενού (byte () a) | Ταξινομήσει τον πίνακα byte αριθμητικά |
είδος στατικού κενού (byte () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων από τον πίνακα | |
είδος στατικού κενού (char () a) | Ταξινόμηση του πίνακα χαρακτήρων σε αύξουσα αριθμητική σειρά. | |
είδος στατικού κενού (char () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων του πίνακα σε αύξουσα σειρά. | |
στατικό κενό (διπλό () α) | Ταξινόμηση του διπλού πίνακα σε αύξουσα αριθμητική σειρά. | |
στατικό κενό (διπλό () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων από τον πίνακα σε αύξουσα σειρά. | |
είδος στατικού κενού (float () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων από τον πίνακα σε αύξουσα σειρά. | |
είδος στατικού κενού (int () a) | Ταξινομήσει τον πίνακα int σε αύξουσα αριθμητική σειρά. | |
στατικό κενό (int () a, int fromIndex, int toIndex) | Ταξινόμηση σειράς στοιχείων από τον πίνακα σε αύξουσα σειρά. | |
είδος στατικού κενού (μακρύ () a) | Ταξινόμηση του μεγάλου πίνακα σε αύξουσα αριθμητική σειρά. | |
είδος στατικού κενού (long () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων από τον πίνακα σε αύξουσα σειρά | |
στατικό κενό (αντικείμενο () α) | Ταξινόμηση της σειράς αντικειμένων σε αύξουσα σειρά. Η ταξινόμηση γίνεται σύμφωνα με τη φυσική σειρά των στοιχείων της | |
είδος στατικού κενού (Object () a, int fromIndex, int toIndex) | Ταξινόμηση του καθορισμένου εύρους από μια σειρά αντικειμένων σε αύξουσα σειρά. Η ταξινόμηση γίνεται σύμφωνα με τη φυσική σειρά των στοιχείων της. | |
είδος στατικού κενού (σύντομο () a) | Ταξινόμηση του πίνακα μικρού τύπου σε αύξουσα αριθμητική σειρά. | |
είδος στατικού κενού (σύντομο () a, int fromIndex, int toIndex) | Ταξινόμηση του εύρους των στοιχείων από τον πίνακα σε αύξουσα σειρά. | |
είδος στατικού κενού (T () a, Συγκριτής c) | Ταξινόμηση του καθορισμένου πίνακα αντικειμένων. Η σειρά ταξινόμησης προκαλείται σύμφωνα με τον καθορισμένο συγκριτή. | |
στατικό κενό (T () a, int fromIndex, int toIndex, Comparator c) | Ταξινόμηση του εύρους των στοιχείων από μια σειρά αντικειμένων με τη σειρά που καθορίζεται από το συγκριτή. |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
στατικό String toString (μακρύ () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός μεγάλου πίνακα | |
toString Αυτή η μέθοδος επιστρέφει την παράσταση συμβολοσειράς ενός δεδομένου πίνακα. Στην επόμενη στήλη δίδονται διαφορετικά φορτία αυτής της μεθόδου | στατικό String toString (boolean () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός δυαδικού πίνακα |
στατικό String toString (byte () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός πίνακα byte | |
στατικό String toString (char () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός πίνακα χαρακτήρων | |
στατικό String toString (διπλό () α) | Επιστρέφει μια παράσταση συμβολοσειράς ενός διπλού πίνακα | |
στατικό String toString (float () a) | Επιστρέφει μια παράσταση συμβολοσειράς μιας συστοιχίας float | |
στατικό String toString (int () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός πίνακα | |
στατική συμβολοσειρά toString (αντικείμενο () α) | Επιστρέφει μια παράσταση συμβολοσειράς ενός πίνακα αντικειμένων | |
στατικό String toString (σύντομο () a) | Επιστρέφει μια παράσταση συμβολοσειράς ενός σύντομου πίνακα |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
static int hashCode (μακρύ () a) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων ενός μεγάλου πίνακα | |
hashCode Αυτή η μέθοδος επιστρέφει τον κωδικό hash των περιεχομένων του καθορισμένου πίνακα Οι υπερφορτωμένες μέθοδοι δίνονται στην επόμενη στήλη. | static int hashCode (boolean () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων του boolean array |
static int hashCode (byte () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων του πίνακα byte | |
στατικός int hashCode (char () a) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων του πίνακα χαρακτήρων | |
static int hashCode (διπλό () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων ενός διπλού πίνακα | |
static int hashCode (float () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων μιας συστοιχίας float | |
static int hashCode (int () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων μιας συστοιχίας int. | |
static int hashCode (αντικείμενο () α) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων του πίνακα αντικειμένων | |
static int hashCode (σύντομο () a) | Επιστρέφει τον κωδικό κατακερματισμού των περιεχομένων του σύντομου πίνακα |
Οι παραπάνω πίνακες δείχνουν όλες τις μεθόδους που παρέχει η κλάση Arrays. Τα περισσότερα από αυτά είναι υπερφορτωμένα για διάφορους πρωτόγονους τύπους.
Ας συζητήσουμε λεπτομερώς μερικές από αυτές τις μεθόδους.
# 1) ως λίστα
Πρωτότυπο: στατική λίστα asList (Object () a)
Παράμετροι: α - πίνακας αντικειμένων από τα οποία θα υποστηρίζεται η λίστα.
Αξία επιστροφής: Λίστα => λίστα καθορισμένου μεγέθους καθορισμένου πίνακα
Περιγραφή: Επιστρέφει μια λίστα σειριοποιήσιμου μεγέθους σταθερού μεγέθους που υποστηρίζεται από έναν πίνακα που παρέχεται ως όρισμα.
Παράδειγμα:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { String() months = {'January', 'February', 'March', 'April', 'May'}; // converted string array to a List using asList System.out.println('The string array converted to list:'); List month_list = Arrays.asList(months); System.out.println(month_list); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει τη χρήση της μεθόδου «asList» της κατηγορίας Arrays. Εδώ, δηλώσαμε έναν πίνακα συμβολοσειρών και τον περάσαμε στη μέθοδο asList για να λάβουμε μια λίστα.
# 2) binarySearch
Πρωτότυπο: static int binarySearch (int () a, int key)
Παράμετροι:
a => πίνακας στον οποίο θα αναζητηθεί το κλειδί
Κλειδί => τιμή στοιχείου προς αναζήτηση
Αξία επιστροφής: int => θέση (ευρετήριο) στην οποία βρίσκεται το κλειδί, αλλιώς επιστρέφει (- (το 'σημείο εισαγωγής') - 1).
Περιγραφή: Αναζητά το καθορισμένο κλειδί στο δεδομένο πίνακα χρησιμοποιώντας έναν αλγόριθμο δυαδικής αναζήτησης. Ο πίνακας πρέπει να ταξινομηθεί για να λειτουργήσει η δυαδική αναζήτηση. Εάν ο πίνακας δεν έχει ταξινομηθεί, τότε τα αποτελέσματα είναι ακαθόριστα. Επίσης, εάν υπάρχουν πολλές θέσεις στον πίνακα για την ίδια τιμή κλειδιού, η θέση που επιστρέφεται δεν είναι εγγυημένη.
Παράδειγμα:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { // define the Array int numArr() = { 23,43,26,65,35,16,74,27,98 }; //sort the array first Arrays.sort(numArr); System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr, key)); } }
Παραγωγή:
Στο παραπάνω πρόγραμμα πρώτα, ταξινομούμε τον πίνακα εισαγωγής αφού για το binarySearch ο πίνακας πρέπει να ταξινομηθεί. Στη συνέχεια, ο πίνακας και το κλειδί προς αναζήτηση μεταφέρονται στη μέθοδο «binarySearch». Το ευρετήριο στο οποίο βρίσκεται το κλειδί εμφανίζεται στην έξοδο.
Πρωτότυπο: static int binarySearch (int () a, int fromIndex, int toIndex, int key)
Παράμετροι:
a => πίνακας προς αναζήτηση
fromIndex => αρχικός δείκτης του εύρους στο οποίο θα αναζητηθεί το κλειδί
toIndex => το ευρετήριο του τελευταίου στοιχείου στο εύρος
key => κλειδί για αναζήτηση
Αξία επιστροφής: ευρετήριο του βασικού στοιχείου βρίσκεται στο καθορισμένο εύρος. Διαφορετικά επιστρέφει (- (το «σημείο εισαγωγής») - 1).
Περιγραφή: Αυτή η υπερφόρτωση του binarySearch αναζητά μια τιμή κλειδιού στο καθορισμένο εύρος του πίνακα και επιστρέφει τη θέση ευρετηρίου του βασικού στοιχείου εάν βρεθεί. Ο πίνακας και επομένως το εύρος πρέπει να ταξινομηθούν για να λειτουργεί το binarySearch. Εάν δεν είναι ταξινομημένο, τότε τα αποτελέσματα είναι ακαθόριστα.
Παράδειγμα:
import java.util.Arrays; import java.util.List; public class Main { public static void main(String() args) { int numArr() = { 23,43,26,65,35,16,74,27,98 }; // define the Array Arrays.sort(numArr); //sort the array first System.out.println('Input array:' + Arrays.toString(numArr)); int key = 35; //call binarySearch function to search a given key System.out.println('Key ' + key + ' found at index = ' + Arrays .binarySearch(numArr,3,7, key)); } }
Παραγωγή:
Το παραπάνω πρόγραμμα είναι το ίδιο με το προηγούμενο με τη διαφορά ότι στη μέθοδο κλήσης προς binarySearch, έχουμε καθορίσει ένα εύρος του πίνακα στον οποίο θα πραγματοποιηθεί η αναζήτηση.
# 3) copyOf
Πρωτότυπο: στατικό int () copyOf (int () original, int newLength)
τι είναι ένα αρχείο torrent και πώς μπορώ να το ανοίξω
Παράμετροι:
original => πίνακας προς αντιγραφή
newLength => μήκος του αντιγραμμένου πίνακα
Αξία επιστροφής: Ένας νέος πίνακας αντιγράφηκε από το πρωτότυπο και με επένδυση ή περικομμένος με μηδενικά ανάλογα με ένα καθορισμένο μήκος.
Περιγραφή: Αντιγράφει τον πρωτότυπο πίνακα σε μια νέα συστοιχία και μαξιλάρια ή περικόπτει με μηδενικά ανάλογα με το καθορισμένο μήκος.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOf and print it System.out.println('Copied Array: ' + Arrays.toString( Arrays.copyOf(strArr, 5))); } }
Παραγωγή:
Το παραπάνω πρόγραμμα καταδεικνύει τη χρήση της μεθόδου «copyOf» της κατηγορίας Arrays που αντιγράφει τη δεδομένη συστοιχία σε μια νέα. Το παραπάνω πρόγραμμα αντιγράφει τον αρχικό πίνακα συμβολοσειρών σε έναν νέο πίνακα.
# 4) copyOfRange
Πρωτότυπο: στατικό int () copyOfRange (int () original, int from, int to)
Παράμετροι:
original => πίνακας από τον οποίο θα αντιγραφούν οι τιμές στο εύρος
Από => πρώτο ευρετήριο του εύρους
To => τελευταίος δείκτης του εύρους
Αξία επιστροφής: Νέα συστοιχία με τιμές από το καθορισμένο εύρος με μηδενικά κομμένα ή γεμισμένα για να επιτευχθεί το επιθυμητό μήκος.
Περιγραφή: Αντιγράφει το εύρος που καθορίζεται από έναν δεδομένο πίνακα σε έναν νέο πίνακα. Το αρχικό ευρετήριο του πίνακα πρέπει να περιλαμβάνει μεταξύ 0 και αρχικού μήκους. Ο τελικός δείκτης μπορεί να είναι αποκλειστικός.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the Array String strArr() = {'Java', 'Python', 'Perl', 'C', 'Ruby'}; // print the original array System.out.println('Original String Array: ' + Arrays.toString(strArr)); //copy the array into new array using copyOfRange and print it System.out.println('Copied Range of Array: ' + Arrays.toString( Arrays.copyOfRange(strArr,1,3))); } }
Παραγωγή:
Έχουμε τροποποιήσει το προηγούμενο πρόγραμμα για να χρησιμοποιήσουμε τη μέθοδο «copyOfRange» που αντιγράφει ένα συγκεκριμένο εύρος από τον πίνακα και σχηματίζει έναν νέο πίνακα. Στο παραπάνω πρόγραμμα, έχουμε καθορίσει το εύρος όπως 1, 3. Ως εκ τούτου, η έξοδος δείχνει μια νέα σειρά από 2 στοιχεία.
# 5) ισούται
Πρωτότυπο: στατικό boolean ισούται με (int () a, int () a2)
Παράμετροι:
προς την => πρώτη σειρά που θα δοκιμαστεί για ισότητα
A2 => δεύτερος πίνακας που θα ελεγχθεί για ισότητα
Αξία επιστροφής: Επιστρέφει true αν και οι δύο συστοιχίες είναι ίσες.
Περιγραφή: Αυτή η μέθοδος ελέγχει εάν και οι δύο πίνακες είναι ίσοι και επιστρέφουν τα αποτελέσματα. Οι δύο συστοιχίες λέγεται ότι είναι ίσες εάν και οι δύο συστοιχίες έχουν ίσο αριθμό στοιχείων και τα αντίστοιχα στοιχεία και στις δύο συστοιχίες είναι ίδια.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define two arrays, array_One and array_Two int() array_One = { 1, 3, 5, 7 }; int() array_Two = { 1, 3, 5, 7 }; //print the arrays System.out.println('array_One = ' + Arrays.toString(array_One)); System.out.println('array_Two = ' + Arrays.toString(array_Two)); //use equals method to check for equality of arrays booleanarray_equal = Arrays.equals(array_One, array_Two); //print the results if (array_equal) { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are equal
'); }else { System.out.println('equals method returns ' + array_equal + ', hence arrays array_One and array_Two are not equal
'); } // define two more arrays, firstArray&secondArray int() firstArray = { 2, 4, 6, 8 }; int() secondArray = { 1, 3, 5, 7}; //display these arrays System.out.println('firstArray = ' + Arrays.toString(firstArray)); System.out.println('secondArray = ' + Arrays.toString(secondArray)); //use equals method to check equality of arrays boolean test_array = Arrays.equals(firstArray, secondArray); //print the results if (test_array) { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are equal
'); }else { System.out.println('equals method returns ' + test_array + ', hence arrays firstArray and secondArray are not equal
'); } } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει τη μέθοδο «ισούται με». Εδώ, χρησιμοποιήσαμε δύο σύνολα συστοιχιών και ονομάσαμε «ίσο» δύο φορές. Στην πρώτη κλήση για ισότιμο, και οι δύο πίνακες είναι οι ίδιες και ως εκ τούτου η μέθοδος επιστρέφει αληθινή Στη δεύτερη κλήση για ισούται, οι δύο πίνακες είναι διαφορετικές και η μέθοδος επιστρέφει λανθασμένη.
# 6) Συμπληρώστε
Πρωτότυπο: στατική κενή πλήρωση (int () a, int val)
Παράμετροι:
a => πίνακας προς συμπλήρωση
val => τιμή που πρέπει να συμπληρωθεί σε όλα τα μέρη του πίνακα
Αξία επιστροφής: Κανένας
Περιγραφή: Συμπληρώνει τον πίνακα με την καθορισμένη τιμή.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7 }; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the array with all zeros Arrays.fill(intArray, 0); //print altered array System.out.println('Array after call to fill:' + Arrays.toString(intArray)); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει τη βασική έκδοση της μεθόδου πλήρωσης. Εδώ, συμπληρώνουμε ολόκληρο τον πίνακα με άλλη τιμή. Σε αυτήν την περίπτωση, έχουμε γεμίσει τον πίνακα με όλα τα μηδενικά.
Πρωτότυπο: στατική κενή πλήρωση (int () a, int fromIndex, int toIndex, int val)
Παράμετροι:
a => πίνακας του οποίου το εύρος πρέπει να συμπληρωθεί
fromIndex => αρχικός δείκτης του εύρους
toIndex => τελικός δείκτης του εύρους
val => τιμή με την οποία πρέπει να συμπληρωθούν τα στοιχεία στο εύρος
Αξία επιστροφής: Κανένας
Περιγραφή: Συμπληρώνει το καθορισμένο εύρος απόIndex έωςIndex στον πίνακα «a» με την καθορισμένη τιμή. Εάν από τοIndex = toIndex, τότε το εύρος που πρέπει να συμπληρωθεί είναι κενό.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = { 1, 3, 5, 7, 9, 11, 13, 15,17}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call fill method to fill the range (2,6) in the array with zeros Arrays.fill(intArray, 2, 6, 0); //print altered array System.out.println('Array after call to fill the range(2,6):' + Arrays.toString(intArray)); } }
Παραγωγή:
Αυτή είναι μια άλλη έκδοση της μεθόδου πλήρωσης όπου, καθορίζουμε το συγκεκριμένο εύρος στον πίνακα που πρόκειται να συμπληρωθεί με διαφορετική τιμή. Στο παραπάνω πρόγραμμα, καθορίσαμε το εύρος (2, 6) που θα γεμίσει με μηδενικά. Τα άλλα στοιχεία παραμένουν τα ίδια όπως φαίνεται στην έξοδο.
# 7) Ταξινόμηση
Πρωτότυπο: είδος στατικού κενού (int () a)
Παράμετροι: a => πίνακας προς ταξινόμηση
Αξία επιστροφής: Κανένας
Περιγραφή: Αυτή η μέθοδος ταξινομεί τον πίνακα σε αύξουσα σειρά.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given array in ascending order Arrays.sort(intArray); //print altered array System.out.println('Sorted array:' + Arrays.toString(intArray)); } }
Παραγωγή:
Το παραπάνω πρόγραμμα ταξινομεί μια σειρά από ακέραιους χρησιμοποιώντας τη μέθοδο ταξινόμησης της κατηγορίας Arrays και εκτυπώνει τον ταξινομημένο πίνακα.
Πρωτότυπο: στατικό κενό (int () a, int fromIndex, int toIndex)
Παράμετροι:
a => πίνακας από τον οποίο πρόκειται να ταξινομηθεί ένα εύρος
fromIndex => ευρετήριο έναρξης για το εύρος
toIndex => τελικός δείκτης για το εύρος
Αξία επιστροφής: κανένας
Περιγραφή: Ταξινόμηση του εύρους που καθορίζεται από απόIndex σεIndex σε αύξουσα σειρά. Αν απόIndex = toIndex, τότε το εύρος προς ταξινόμηση είναι κενό.
Παράδειγμα:
import java.util.Arrays; public class Main { public static void main(String() args) { // define the array int() intArray = {10,4,25,63,21,51,73,24,87,18}; //print original array System.out.println('The original array: ' + Arrays.toString(intArray)); //call sort method to sort the given range in the array in ascending order Arrays.sort(intArray, 2, 7); //print altered array System.out.println('Sorted range(2,7) in the array:' + Arrays.toString(intArray)); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δείχνει την παραλλαγή της μεθόδου ταξινόμησης. Σε αυτό, μπορούμε να καθορίσουμε ένα εύρος πάνω στο οποίο πρόκειται να ταξινομηθεί ο πίνακας. Τα στοιχεία εκτός αυτής της περιοχής δεν ταξινομούνται. Στο παραπάνω πρόγραμμα, το εύρος (2,7) στο δεδομένο πίνακα καθορίζεται για ταξινόμηση στη μέθοδο ταξινόμησης.
Ως εκ τούτου στην έξοδο, μπορούμε να δούμε ότι μόνο τα στοιχεία σε αυτό το εύρος ταξινομούνται σε αύξουσα σειρά.
# 8) toString
Πρωτότυπο: στατικό String toString (int () a)
Παράμετροι: a => πίνακας του οποίου απαιτείται αναπαράσταση συμβολοσειρών
Αξία επιστροφής: string => παράσταση συμβολοσειράς πίνακα
Περιγραφή: Μετατρέπει τον δεδομένο πίνακα στην αναπαράσταση συμβολοσειρών του.
Παράδειγμα:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int and double int() intArray = {10,20,30,40,50}; double() dblArray = {1.0,2.0,3.0,4.0,5.0}; System.out.println('String representation of int Array: '); //print string representation of int array using toString System.out.println(Arrays.toString(intArray)); System.out.println('
String representation of double Array: '); //print string representation of double array using toString System.out.println(Arrays.toString(dblArray)); } }
Παραγωγή:
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη μέθοδο toString που μετατρέπει τους πίνακες σε αναπαράσταση συμβολοσειρών. Έτσι, για να δείξουμε αυτήν τη μέθοδο, χρησιμοποιήσαμε δύο συστοιχίες κάθε τύπου int και double. Στη συνέχεια, χρησιμοποιώντας τη μέθοδο toString, κάθε ένας από αυτόν τον πίνακα μετατρέπεται στην αντίστοιχη παράσταση συμβολοσειράς που εμφανίζεται στην έξοδο.
# 9) κωδικός hash
Πρωτότυπο: static int hashCode (int () α)
Παράμετροι: a => πίνακας του οποίου ο κωδικός hash πρόκειται να υπολογιστεί.
Αξία επιστροφής: int => υπολογισμός κατακερματισμού
Περιγραφή: Η μέθοδος επιστρέφει τον κατακερματισμό ενός δεδομένου πίνακα. ο κωδικός κατακερματισμού του α Ιάβα Το αντικείμενο είναι στην πραγματικότητα ένας αριθμός 32-bit (υπογεγραμμένο int). Χρησιμοποιώντας hashcode μπορείτε να διαχειριστείτε ένα αντικείμενο χρησιμοποιώντας δομή βασισμένη σε κατακερματισμό.
Το Hashcode εκχωρείται από το JVM σε ένα αντικείμενο και είναι συνήθως μοναδικό, εκτός αν τα δύο αντικείμενα είναι ίδια μεταξύ τους, οπότε και τα δύο αντικείμενα θα έχουν τον ίδιο κωδικό κατακερματισμού.
Παράδειγμα:
import java.util.*; public class Main { public static void main(String() args) { //declare arrays of type int int() intArray = {10,20,30,40,50}; //print the input array System.out.println('The input Array: ' + Arrays.toString(intArray)); //get hashcode of the array using 'hashCode' method of array inthashCde = Arrays.hashCode(intArray); //print the hashCode System.out.println('The hashCode for input array:' + hashCde); } }
Παραγωγή:
Η μέθοδος hashCode υπολογίζει τον κωδικό κατακερματισμού για τον δεδομένο πίνακα που διαβιβάστηκε ως όρισμα σε αυτόν.
Συχνές Ερωτήσεις
Q # 1) Τι είναι οι πίνακες java.util;
Απάντηση: Η κλάση java.util.Arrays επεκτείνεται από την κλάση java.lang.Object. Η κλάση Arrays περιέχει τη μέθοδο για την απεικόνιση των συστοιχιών ως λίστα. Περιέχει επίσης διάφορες μεθόδους χειρισμού των συστοιχιών όπως ταξινόμηση, αναζήτηση, αναπαράσταση συστοιχιών ως συμβολοσειρές κ.λπ.
Q # 2) Ποια ταξινόμηση χρησιμοποιείται στην ταξινόμηση συστοιχιών στην Java;
Απάντηση: Η μέθοδος ταξινόμησης της κατηγορίας Arrays στην Java χρησιμοποιεί δύο τεχνικές ταξινόμησης. Χρησιμοποιεί γρήγορη ταξινόμηση όταν χρησιμοποιούνται πρωτόγονοι τύποι ενώ όταν χρησιμοποιούνται αντικείμενα που εφαρμόζουν συγκρίσιμη διεπαφή, χρησιμοποιείται είδος συγχώνευσης.
Q # 3) Τι κάνει η μέθοδος Arrays.sort () στην Java;
Απάντηση: Η μέθοδος Arrays.sort () στην Java έχει διάφορες υπερφορτώσεις χρησιμοποιώντας τις οποίες μπορείτε να πραγματοποιήσετε ταξινόμηση σε πίνακες. Έχει υπερφορτώσεις για την ταξινόμηση διαφορετικών συστοιχιών πρωτόγονων τύπων δεδομένων.
Επιπλέον, η μέθοδος Arrays.sort () έχει διάφορες υπερφορτώσεις για την ταξινόμηση ενός πίνακα σε ένα καθορισμένο εύρος. Εκτός από αυτό, η μέθοδος Arrays.sort () μας επιτρέπει επίσης να ταξινομήσουμε ανάλογα με το παρεχόμενο συγκριτικό.
Q # 4) Τι είναι οι κατηγορίες συλλογών και συστοιχιών;
Απάντηση: Οι συλλογές είναι δυναμικής φύσης και η κατηγορία Συλλογές παρέχει άμεσες μεθόδους που δρουν στις συλλογές. Οι πίνακες έχουν στατικό χαρακτήρα και έχουν συστοιχίες κατηγορίας που παρέχουν μεθόδους χειρισμού συστοιχιών.
Αλλά αυτές δεν είναι άμεσες μέθοδοι, δηλαδή τα αντικείμενα της σειράς δεν μπορούν να επικαλεστούν αυτές τις μεθόδους. Αντ 'αυτού, ένα αντικείμενο πίνακα διαβιβάζεται ως επιχείρημα σε αυτές τις μεθόδους.
συμπέρασμα
Η κλάση Arrays ανήκει στο πακέτο java.util και εκτείνεται από την κλάση java.lang.Object. Η κλάση συστοιχιών περιέχει μεθόδους που χρησιμοποιούνται για τον χειρισμό συστοιχιών. Αυτές οι μέθοδοι περιλαμβάνουν εκείνες που χρησιμοποιούνται για την ταξινόμηση συστοιχιών, την αναζήτηση ενός συγκεκριμένου στοιχείου σε πίνακες, τη συμπλήρωση του πίνακα με μια συγκεκριμένη τιμή, μεθόδους σύγκρισης συστοιχιών κ.λπ.
Κάθε μία από αυτές τις μεθόδους έχει διάφορες υπερφορτώσεις που επιτρέπουν στον προγραμματιστή να επικαλεστεί αυτές τις μεθόδους σε συστοιχίες διαφορετικών τύπων δεδομένων και επίσης σε μερικούς ή ολόκληρους πίνακες.
Σε αυτό το σεμινάριο, έχουμε συζητήσει τις περισσότερες από τις μεθόδους της κατηγορίας συστοιχιών. Είδαμε επίσης μια σύντομη περιγραφή και παραδείγματα των βασικών μεθόδων. Αυτά τα παραδείγματα μπορούν να αναπαραχθούν για διάφορους τύπους δεδομένων και σας αφήνουμε.
=> Επισκεφθείτε εδώ για να μάθετε Java από το μηδέν.
Συνιστώμενη ανάγνωση
- Εκμάθηση μήκους σειράς Java με παραδείγματα κώδικα
- Jagged Array In Java - Εκμάθηση με παραδείγματα
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- Τι είναι το Java Java | Java Vector Class Tutorial με παραδείγματα
- Πώς να ταξινομήσετε μια σειρά σε Java - Tutorial με παραδείγματα
- Reverse An Array In Java - 3 μέθοδοι με παραδείγματα
- Java Generic Array - Πώς να προσομοιώσετε γενικές συστοιχίες στην Java;
- Java Copy Array: Πώς να αντιγράψετε / κλωνοποιήσετε μια σειρά στην Java