what is java vector java vector class tutorial with examples
Αυτό το σεμινάριο εξηγεί τα πάντα για τη δομή δεδομένων φορέα σε Java με παραδείγματα. Θα μάθετε να δημιουργείτε, να αρχίζετε, να ταξινομείτε και να χρησιμοποιείτε ένα Java Vector στα προγράμματά σας:
Ένας φορέας μπορεί να οριστεί ως μια δυναμική συστοιχία που μπορεί να αναπτυχθεί ή να συρρικνωθεί από μόνη της, δηλ. Ο φορέας θα αναπτυχθεί όταν προστίθενται περισσότερα στοιχεία σε αυτόν και θα συρρικνωθεί όταν τα στοιχεία αφαιρεθούν από αυτό.
Αυτή η συμπεριφορά είναι διαφορετική από εκείνη των συστοιχιών που είναι στατικές. Όμως, όπως και οι πίνακες, τα διανυσματικά στοιχεία μπορούν να προσεγγιστούν χρησιμοποιώντας ακέραιους δείκτες.
=> Δείτε εδώ για να δείτε το A-Z Of Java Training Tutorials εδώ.
Ένα διάνυσμα μπορεί να θεωρηθεί παρόμοιο με μια άλλη δομή δεδομένων δυναμικής συστοιχίας, ArrayList εκτός από τις δύο παρακάτω διαφορές:
- Ο φορέας είναι συγχρονισμένος, δηλαδή όλες οι μέθοδοι στο Διάνυσμα επισημαίνονται ως «συγχρονισμένοι» και έτσι, όταν καλείται μια μέθοδος, δεν μπορεί να γίνει επίκληση της ίδιας μεθόδου, εκτός εάν έχει τερματιστεί η προηγούμενη κλήση.
- Η κλάση διανυσμάτων έχει πολλές μεθόδους που δεν αποτελούν μέρος του πλαισίου συλλογών αλλά τις παλαιότερες μεθόδους της.
Τι θα μάθετε:
- Τάξη φορέα Java
- Πώς να δημιουργήσετε ένα διάνυσμα στην Java;
- Αρχικοποίηση του διανύσματος
- Διάνυσμα μέθοδοι σε Java
- Υλοποίηση φορέα
- Πλήρες παράδειγμα φορέα
- Ταξινόμηση ενός διανύσματος
- 2D (δισδιάστατο) διάνυσμα
- Μετατροπή διανύσματος σε σειρά
- Διάνυσμα vs Array
- Διάνυσμα εναντίον ArrayList
- Συχνές Ερωτήσεις
- συμπέρασμα
- Συνιστώμενη ανάγνωση
Τάξη φορέα Java
Μια κλάση Vector είναι ξεχωριστή από το « java.util Πακέτο και υλοποιεί διεπαφή λίστας. Το διάνυσμα είναι μια σειρά αντικειμένων ή φορέας αντικειμένων.
Παρακάτω δίνεται μια δήλωση τάξης της κλάσης Vector:
public class Vector extends Object implements List, Cloneable, Serializable
Όπως φαίνεται παραπάνω, μια κλάση Vector επεκτείνεται ' java.lang.object 'Και εφαρμόζει διασυνδέσεις List, Cloneable και Serializable.
Πώς να δημιουργήσετε ένα διάνυσμα στην Java;
Μπορείτε να δημιουργήσετε ένα αντικείμενο Vector χρησιμοποιώντας οποιαδήποτε από τις ακόλουθες μεθόδους κατασκευής φορέα.
γ προγραμματισμός συνεντεύξεων ερωτήσεων και απαντήσεων με επεξηγήσεις pdf
Πρωτότυπο κατασκευαστή | Περιγραφή | |
---|---|---|
Σαφή | Άκυρο καθαρό () | Διαγράφει το διάνυσμα των στοιχείων του. |
διάνυσμα() | Αυτός είναι ο προεπιλεγμένος κατασκευαστής της κλάσης Vector. Δημιουργεί ένα κενό διάνυσμα με μέγεθος 10. | |
διάνυσμα (intitialCapacity) | Αυτός ο υπερφορτωμένος κατασκευαστής κατασκευάζει ένα κενό διανυσματικό αντικείμενο με χωρητικότητα = initialCapacity. | |
διάνυσμα (intitialCapacity, int capacityIncrement) | Αυτή η μέθοδος κατασκευαστή δημιουργεί ένα κενό διανυσματικό αντικείμενο με καθορισμένη αρχική χωρητικότητα και χωρητικότητα. | |
Διάνυσμα (Συλλογή γ) | Ένα αντικείμενο Vector δημιουργείται με τα αρχικά στοιχεία από την καθορισμένη συλλογή γ. |
Ας δούμε κάθε έναν από τους κατασκευαστές για να αρχικοποιήσουμε τα διανυσματικά αντικείμενα.
Αρχικοποίηση του διανύσματος
(i) Διάνυσμα ()
Αυτός είναι ο προεπιλεγμένος κατασκευαστής της κλάσης Vector. Όταν καλείτε αυτόν τον κατασκευαστή, δημιουργείται ένα διανυσματικό αντικείμενο προεπιλεγμένου μεγέθους 10.
Η γενική σύνταξη αυτής της μεθόδου είναι:
Διάνυσμα αντικείμενο = νέο διάνυσμα ();
Για παράδειγμα,
Vector vec1 = new Vector ();
Η παραπάνω δήλωση δημιουργεί ένα νέο Vector «vec1» με μέγεθος 10.
(ii) Διάνυσμα (intitialCapacity)
Ο υπερφορτωμένος κατασκευαστής της κλάσης Vector αποδέχεται το 'initialCapacity' ως επιχείρημα. Αυτός ο κατασκευαστής δημιουργεί ένα αντικείμενο Vector με την καθορισμένη χωρητικότητα.
Η γενική σύνταξη της μεθόδου είναι:
Διάνυσμα αντικείμενο = νέο διάνυσμα (initialCapacity);
Για παράδειγμα,
Vector vec1 = new Vector (10);
Η παραπάνω δήλωση προγραμματισμού θα δημιουργήσει ένα διανυσματικό αντικείμενο «vec1» με χωρητικότητα 10, δηλαδή αυτό το διάνυσμα μπορεί να αποθηκεύσει έως και 10 στοιχεία.
(iii) Διάνυσμα (intitialCapacity, int capacityIncrement)
Αυτός είναι ένας ακόμη υπερφορτωμένος κατασκευαστής της κλάσης Vector και δημιουργεί ένα αντικείμενο Vector με την καθορισμένη αρχική χωρητικότητα και αύξηση της χωρητικότητας.
Η γενική σύνταξη για αυτήν τη μέθοδο είναι:
Διάνυσμα αντικείμενο = νέο διάνυσμα (initialCapacity, capacityIncrement);
Για παράδειγμα,
Vector vec1 = new Vector(5,10);
Στην παραπάνω δήλωση, η αρχική χωρητικότητα του διανύσματος είναι 5 και η αύξηση είναι 10. Αυτό σημαίνει όταν το 6ουστοιχείο εισάγεται στο φορέα, η χωρητικότητα του φορέα θα αυξηθεί σε 15 (5 + 10). Ομοίως, όταν το 16ουεισάγεται στοιχείο, η χωρητικότητα του διανύσματος του διανύσματος θα επεκταθεί σε 25 (15 +10).
(iv) Διάνυσμα (Συλλογή γ)
Ο τελευταίος υπερφορτωμένος κατασκευαστής της κλάσης Vector παίρνει μια προκαθορισμένη συλλογή ως επιχείρημα και δημιουργεί ένα Vector με όλα τα στοιχεία από αυτήν τη συλλογή ως στοιχεία.
Η γενική σύνταξη είναι:
Διάνυσμα αντικείμενο = νέο διάνυσμα (Συλλογή γ);
Για παράδειγμα,
Vector vec1 = new Vector(aList); where aList = {1,2,3,4,5};
Η παραπάνω δήλωση θα δημιουργήσει ένα διάνυσμα «vec1» με αρχικά στοιχεία ως {1,2,3,4, 5}.
Λαμβάνοντας υπόψη όλες αυτές τις περιγραφές θα μας επιτρέψει να εφαρμόσουμε ένα πρόγραμμα Vector για να κατανοήσουμε καλύτερα αυτούς τους κατασκευαστές.
Διάνυσμα μέθοδοι σε Java
Ακολουθούν οι μέθοδοι που υποστηρίζονται από την κλάση Vector στην Java.
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
Προσθήκη | Boolean προσθήκη (E ε) | Προσθέτει δεδομένο στοιχείο στο τέλος του διανύσματος. |
Void add (int index, E element) | Προσθέστε στοιχείο στο διάνυσμα στο καθορισμένο ευρετήριο. | |
προσθήκη όλων | Boolean addAll (Συλλογή γ) | Προσθέτει όλα τα στοιχεία από τη δεδομένη συλλογή στο τέλος του διανύσματος. |
Boolean addAll (int index, Συλλογή γ) | Προσθέτει όλα τα στοιχεία στην καθορισμένη συλλογή στο καθορισμένο ευρετήριο. | |
addElement | void addElement (E obj) | Προσθέτει το καθορισμένο στοιχείο στο τέλος του διανύσματος αυξάνοντας το μέγεθος του διανύσματος. |
Χωρητικότητα | Ικανότητα Int () | Επιστρέφει την τρέχουσα χωρητικότητα του διανύσματος. |
Κλώνος | Αντικείμενο κλώνου () | Κλωνοποιεί το διάνυσμα. |
Περιέχει | Το Boolean περιέχει (αντικείμενο o) | Ελέγχει εάν το διάνυσμα περιέχει καθορισμένο στοιχείο. |
περιέχειΌλα | Το Boolean περιέχειΌλα (Συλλογή γ) | Ελέγχει εάν το διάνυσμα περιέχει όλα τα στοιχεία που υπάρχουν στη δεδομένη συλλογή. |
αντιγραφή | Άκυρο copyInto (Object () anArray) | Αντιγράφει τα διανυσματικά στοιχεία σε δεδομένο πίνακα. |
Στοιχείο | E ElementAt (int ευρετήριο) | Επιστρέφει το διανυσματικό στοιχείο στο καθορισμένο ευρετήριο. |
Στοιχεία | Αριθμητικά στοιχεία () | Επιστρέφει απαριθμημένα στοιχεία για το διάνυσμα. |
εξασφάλιση χωρητικότητας | Void memastikanCapacity (int minCapacity) | Αυξάνει την ικανότητα του διανύσματος να πληροί την ελάχιστη καθορισμένη χωρητικότητα. |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
ένθετοElementAt | Void insertElementAt (E obj, int index) | Εισάγει το δεδομένο αντικείμενο στο διάνυσμα στο δεδομένο ευρετήριο. |
Ισούται | Boolean ισούται με (αντικείμενο o) | Συγκρίνει το τρέχον διάνυσμα με καθορισμένο διάνυσμα για να ελέγξει εάν είναι ίσοι. |
πρώτο στοιχείο | E πρώτο στοιχείο () | Επιστρέφει το πρώτο στοιχείο του διανύσματος στο ευρετήριο 0. |
Παίρνω | E get (int index) | Επιστρέφει το στοιχείο στο διάνυσμα στο καθορισμένο ευρετήριο. |
hashCode | int hashCode () | Επιστρέφει την τιμή κωδικού κατακερματισμού για το διάνυσμα. |
ευρετήριο | int indexOf (αντικείμενο o) | βρίσκει το ευρετήριο της πρώτης εμφάνισης του δεδομένου στοιχείου στο άνυσμα. -1 εάν δεν υπάρχει στοιχείο στο διάνυσμα. |
int indexOf (Object o, int index) | Ψάχνει το διάνυσμα από το δεδομένο ευρετήριο προς τα εμπρός για καθορισμένο στοιχείο · επιστρέφει δείκτη εάν το στοιχείο βρίσκεται αλλιώς -1 εάν το στοιχείο δεν βρεθεί. | |
είναι άδειο | Boolean isEmpty () | Ελέγχει εάν το διάνυσμα είναι κενό. |
Επαναληπτής | Επαναληπτικός () | Επιστρέφει έναν επαναληπτικό που χρησιμοποιείται για να διασχίσει τα στοιχεία του διανύσματος. |
τελευταίο στοιχείο | E τελευταίο στοιχείο () | Επιστρέφει το τελευταίο στοιχείο του διανύσματος. |
lastIndexOf | Int lastIndexOf (αντικείμενο o) | Αναζητά το διάνυσμα για την τελευταία εμφάνιση δεδομένου στοιχείου και επιστρέφει το ευρετήριο ή επιστρέφει -1 το στοιχείο δεν βρέθηκε. |
Int lastIndexOf (Object o, int index) | Ξεκινά την αναζήτηση για την τελευταία εμφάνιση του δεδομένου στοιχείου από το δεδομένο ευρετήριο προς τα πίσω. Επιστρέφει το ευρετήριο εάν το στοιχείο βρεθεί, επιστρέφει -1. | |
listIterator | ΛίσταIteratorlistIterator () | Επιστρέφει έναν επαναληπτικό λίστας πάνω από τα διανυσματικά στοιχεία. |
ListIteratorlistIterator (int ευρετήριο) | Επιστρέφει έναν επαναληπτικό λίστας πάνω από τα διανυσματικά στοιχεία ξεκινώντας από το δεδομένο ευρετήριο. |
Όνομα μεθόδου | Πρωτότυπο | Περιγραφή |
---|---|---|
αφαίρεση εύρους | προστατευμένο void removeRange (int fromIndex, int toIndex) | Διαγράφει όλα τα στοιχεία από το διάνυσμα στο δεδομένο εύρος από απόIndex (inclusive), totoIndex (αποκλειστικό). |
Αφαιρώ | E κατάργηση (int index) | Διαγράφει το στοιχείο στο δεδομένο ευρετήριο από το διάνυσμα. |
Boolean αφαίρεση (αντικείμενο o) | Διαγράφει την πρώτη εμφάνιση του δεδομένου στοιχείου από το διάνυσμα. Εάν δεν υπάρχει στοιχείο, δεν συμβαίνει τίποτα στο διάνυσμα | |
αφαίρεση όλων | Boolean removeAll (Συλλογή γ) | Διαγράφει όλα τα στοιχεία από το διάνυσμα που υπάρχουν στη δεδομένη συλλογή. |
void removeΌλα τα στοιχεία () | Διαγράφει όλα τα διανυσματικά στοιχεία, μειώνοντάς τα έτσι στο μέγεθος μηδέν. | |
removeElement | Boolean removeElement (αντικείμενο obj) | Αφαιρεί την πρώτη εμφάνιση του δεδομένου στοιχείου από το διάνυσμα. |
void removeElementAt (int ευρετήριο) | Διαγράφει το στοιχείο στο δεδομένο ευρετήριο. | |
διατηρήστεΌλα | Boolean retainAll (Συλλογή γ) | Σε αντίθεση με το 'removeAll', η μέθοδος retainAll διατηρεί στοιχεία στον φορέα που ταιριάζουν με στοιχεία στην καθορισμένη συλλογή. |
σειρά | Σετ E (int index, E element) | Ορίζει την τιμή στο δεδομένο ευρετήριο με το νέο στοιχείο που παρέχεται. |
Void set ElementAt (E obj, int index) | Ορίζει τα δεδομένα στοιχεία στο δεδομένο ευρετήριο. | |
σύνολο μεγέθους | Void setSize (int newSize) | Ορίζει δεδομένο μέγεθος για αυτό το διάνυσμα. |
Μέγεθος | int μέγεθος () | Επιστρέφει τον αριθμό των στοιχείων σε αυτό το διάνυσμα ή το μήκος του διανύσματος. |
δευτερεύουσα λίστα | ListsubList (intfromIndex, inttoIndex) | Επιστρέφει μια προβολή ή δευτερεύουσα λίστα του διανύσματος που κυμαίνεται απόIndex έωςIndex. |
στο Array | Αντικείμενο () toArray () | Μετατρέπει τον δεδομένο φορέα σε πίνακα που περιέχει όλα τα στοιχεία φορέα με δεδομένη σειρά. |
T () toArray (T () α) | Επιστρέφει έναν πίνακα τύπου που περιέχει όλα τα διανυσματικά στοιχεία. | |
toString | String toString () | Επιστρέφει μια παράσταση συμβολοσειράς του διανύσματος. |
trimToSize | void trimToSize () | Περικοπή του διανύσματος για προσαρμογή στο τρέχον μέγεθος. |
Υλοποίηση φορέα
Το ακόλουθο πρόγραμμα Java δείχνει τη χρήση όλων των μεθόδων κατασκευαστή που περιγράφονται παραπάνω.
import java.util.*; public class Main{ public static void main(String() args) { //Create vectors v1, v2,v3 and v4 Vector v1 = new Vector(); //a vector with default constructor Vector v2 = new Vector(20); // a vector of given Size //initialize vector v2 with values v2.add(10); v2.add(20); v2.add(30); Vector v3 = new Vector(30, 10); // a vector of given Size and Increment // create a vector v4 with given collection List aList = new ArrayList(); aList.add('one'); aList.add('two'); Vector v4 = new Vector(aList); //print contents of each vector System.out.println('Vector v1 Contents:' + v1); System.out.println('Vector v2 Contents:' + v2); System.out.println('Vector v3 Contents:' + v3); System.out.println('Vector v4 Contents:' + v4); } }
Παραγωγή:
Το παραπάνω πρόγραμμα έχει τέσσερα διανύσματα σε αυτό. Το πρώτο v1 δημιουργείται με έναν προεπιλεγμένο κατασκευαστή. Το δεύτερο Vector v2 δημιουργείται με αρχική χωρητικότητα ως 20. Στη συνέχεια, προστίθενται λίγα στοιχεία στο v2. Το τρίτο διάνυσμα δημιουργείται με αρχική χωρητικότητα 30 και αύξηση 10.
Στη συνέχεια, δημιουργούμε μια ArrayList και δημιουργούμε ένα τέταρτο Vector v4 με το ArrayList ως επιχείρημα. Τέλος, προβάλλουμε το περιεχόμενο καθενός από αυτούς τους διανύσματα.
Σημειώστε τα περιεχόμενα του τέταρτου διανύσματος v4. Καθώς έχουμε παράσχει το ArrayList ως επιχείρημά του, το περιεχόμενο του ArrayList γίνεται το περιεχόμενο του v4.
Πλήρες παράδειγμα φορέα
Τώρα ας εφαρμόσουμε ένα ακόμη πρόγραμμα που θα το κάνει επιδείξτε τη δημιουργία διανυσμάτων, προσθέτοντας στοιχεία σε αυτό και εμφανίζοντας τα περιεχόμενά του.
import java.util.*; public class Main { public static void main(String args()) { //Create an empty Vector of even numbers Vector evenVector= new Vector (); //Add elements in the vector evenVector.add(2); evenVector.add(4); evenVector.add(6); evenVector.add(8); evenVector.add(10); evenVector.add(12); evenVector.add(14); evenVector.add(16); //Display the vector System.out.println('Vector evenVector contents: ' +evenVector); //delete the first occurence of an element 4 using remove method System.out.println('
Firstoccurence of element 4 removed: '+evenVector.remove((Integer)4)); //Display the vector System.out.println('
Vector contents after remove operation: ' +evenVector); //Remove the element at index 4 & display the vector System.out.println('
Remove element at index 4: ' +evenVector.remove(4)); System.out.println('
Vector contents after remove: ' +evenVector); //hashcode for the vector System.out.println('
Hash code of the vector = '+evenVector.hashCode()); //Get the element at index 1 System.out.println('
Element at index 1 is = '+evenVector.get(1)); } }
Παραγωγή:
Ας πάρουμε ένα άλλο παράδειγμα φορέα. Σε αυτό το πρόγραμμα, θα το κάνουμε χρησιμοποιήστε ένα διάνυσμα συμβολοσειρών . Χειριζόμαστε αυτόν τον φορέα προσθέτοντας στοιχεία και στη συνέχεια εκτυπώνουμε το μέγεθος και την χωρητικότητά του.
import java.util.*; public class Main { public static void main(String args()) { // create a vector with initial capacity = 2 Vector fruits_vec = new Vector(2); //add elements to the vector fruits_vec.addElement('Grapes'); fruits_vec.addElement('Melon'); fruits_vec.addElement('Kiwi'); fruits_vec.addElement('Apple'); //print current size and capacity of the vector System.out.println('Vector Size: '+fruits_vec.size()); System.out.println('Default Vector capacity increment: '+fruits_vec.capacity()); //add more elements to the vector fruits_vec.addElement('Orange'); fruits_vec.addElement('Mango'); fruits_vec.addElement('Fig'); //print current size and capacity again System.out.println('Vector Size after addition: '+fruits_vec.size()); System.out.println('Vector Capacity after increment: '+fruits_vec.capacity()); //print vector elements Enumeration fruits_enum = fruits_vec.elements(); System.out.println('
Vector Elements are:'); while(fruits_enum.hasMoreElements()) System.out.print(fruits_enum.nextElement() + ' '); } }
Παραγωγή:
Ταξινόμηση ενός διανύσματος
Μπορείτε επίσης να ταξινομήσετε ένα διάνυσμα σύμφωνα με μια συγκεκριμένη σειρά. Για την ταξινόμηση ενός διανύσματος, πρέπει να χρησιμοποιήσετε τη μέθοδο Collections.sort () του Java Collections Framework.
Το ακόλουθο παράδειγμα δείχνει ταξινόμηση φορέα.
import java.util.*; public class Main { public static void main(String arg()) { //Create an empty vector Vector oddVector = new Vector(); //Add elements to the vector oddVector.add(1); oddVector.add(11); oddVector.add(7); oddVector.add(3); oddVector.add(5); //print the vector elements System.out.println('Vector elements: '+oddVector); //sort vector using Collections.sort method Collections.sort(oddVector); //print sorted vector System.out.println('Vector elements after sorting: '+oddVector); } }
Παραγωγή:
Το παραπάνω πρόγραμμα δημιουργεί ένα διάνυσμα με περίεργους αριθμούς. Στη συνέχεια, χρησιμοποιώντας τη μέθοδο Collections.sort (), το διάνυσμα ταξινομείται.
πώς να ανοίξετε το αρχείο eps στα Windows 10
2D (δισδιάστατο) διάνυσμα
Το 2δ Διάνυσμα είναι ένα Διάνυσμα που έχει καθένα από τα στοιχεία του ως Διάνυσμα. Μπορεί επίσης να χαρακτηριστεί ως «φορέας διανυσμάτων».
Ένα παράδειγμα παρακάτω δείχνει το 2ο διάνυσμα.
import java.util.*; public class Main { public static void main(String args()) { //define and initialize a vector Vector inner_vec = new Vector(); inner_vec.add('Software'); inner_vec.add('Testing'); inner_vec.add('Java'); inner_vec.add('Tutorials'); //define another vector and add first vector to it. Vector outer_vec = new Vector(); outer_vec.add(inner_vec); String str; //display the contents of vector of vectors System.out.println('Contents of vector of vectors:'); for(int i=0;i Παραγωγή:

Στο παραπάνω πρόγραμμα, έχουμε ένα διάνυσμα με τέσσερα στοιχεία. Στη συνέχεια, δηλώνουμε ένα άλλο διάνυσμα και προσθέτουμε το προηγούμενο διάνυσμα ως στοιχείο στο δεύτερο διάνυσμα. Σημειώστε τον τρόπο πρόσβασης στα στοιχεία του διανύσματος. Δημιουργήστε το βρόχο για, μπορείτε να συμπεράνετε ότι το πρώτο στοιχείο του εξωτερικού διανύσματος (στο ευρετήριο 0) είναι το πρώτο ή το εσωτερικό διάνυσμα.
Έτσι, στο βρόχο, διατηρούμε το δείκτη του εξωτερικού διανύσματος ως 0 και βρόχο μέσα από τον εσωτερικό φορέα για να εμφανίσουμε όλα τα στοιχεία.
Μετατροπή διανύσματος σε σειρά
Ας εξετάσουμε το ακόλουθο παράδειγμα μετατροπής ενός διανύσματος σε έναν πίνακα. Για τη μετατροπή ενός διανύσματος σε μια σειρά, χρησιμοποιούμε τη μέθοδο «toArray» της κλάσης Vector.
Στο ακόλουθο παράδειγμα προγραμματισμού , δηλώνουμε μια συμβολοσειρά Vector και προσθέτουμε στοιχεία σε αυτήν. Στη συνέχεια, χρησιμοποιώντας τη μέθοδο toArray της κλάσης Vector, μετατρέπουμε το Vector σε έναν πίνακα συμβολοσειράς, περνώντας το αντικείμενο του πίνακα συμβολοσειρών ως όρισμα.
import java.util.Vector; public class Main { public static void main(String() args) { // Create a Vector of String elements Vector color_vector = new Vector(); // Add elements to Vector color_vector.add('Violet'); color_vector.add('Indigo'); color_vector.add('Blue'); color_vector.add('Green'); color_vector.add('Yellow'); color_vector.add('Orange'); color_vector.add('Red'); //Convert Vector to String Array using toArray method String() colorsArray = color_vector.toArray(new String(color_vector.size())); //print Array Elements System.out.println('String Array Elements :'); for(String val:colorsArray){ System.out.print(val + ' '); } } }
Παραγωγή:

Διάνυσμα vs Array
Παρακάτω αναφέρονται μερικές από τις διαφορές μεταξύ ενός διανύσματος και ενός πίνακα.
Διάνυσμα Πίνακας Διατηρεί επιπλέον χώρο αποθήκευσης όταν αυξάνεται η χωρητικότητα. Δεν δεσμεύει επιπλέον χώρο αποθήκευσης. Το διάνυσμα είναι δυναμικό και το μέγεθός του αυξάνεται και συρρικνώνεται καθώς προστίθενται ή αφαιρούνται στοιχεία. Οι πίνακες είναι στατικές και το μέγεθός της παραμένει σταθερή μόλις δηλωθεί. Τα διανύσματα μπορούν να αποθηκεύσουν μόνο αντικείμενα. Οι πίνακες μπορούν να αποθηκεύσουν πρωτόγονους τύπους καθώς και αντικείμενα. Παρέχει μια μέθοδο μεγέθους () για τον προσδιορισμό του μεγέθους. Παρέχει ιδιότητα μήκους για τον προσδιορισμό του μήκους. Δεν υπάρχουν διαστάσεις έννοιας αλλά μπορούν να δημιουργηθούν ως διάνυσμα διανυσμάτων, που συνήθως ονομάζεται 2δ διάνυσμα. Οι συστοιχίες υποστηρίζουν διαστάσεις. Το διάνυσμα είναι συγχρονισμένο. Ο πίνακας δεν είναι συγχρονισμένος. Το διάνυσμα είναι πιο αργό από τον πίνακα. Η σειρά είναι πιο γρήγορη. Εξασφαλίζει ασφάλεια τύπου υποστηρίζοντας γενόσημα. Δεν υπάρχει γενική υποστήριξη.
Διάνυσμα εναντίον ArrayList
Αυτή η ενότητα περιγράφει τη διαφορά μεταξύ Vector και ArrayList στην Java.
Διάνυσμα Λίστα Array Το διάνυσμα έχει μέγεθος αύξησης χρησιμοποιώντας το μέγεθος του φορέα που μπορεί να αυξηθεί. Το ArrayList δεν παρέχει μέγεθος αύξησης. Παρόν από την αρχική έκδοση της Java (έκδοση JDK 1.0). Εισήχθη στην Java από το JDK 1.2 Το Vector είναι μια κληρονομιά της Java. Το ArrayList είναι μέρος του Java Συλλογές Framework. Το διάνυσμα αυξάνεται διπλάσιο από το μέγεθός του όταν επιτυγχάνεται η χωρητικότητά του. Το ArrayList αυξάνεται κατά το ήμισυ του μεγέθους όταν φτάσει η χωρητικότητά του. Οι διανυσματικές μέθοδοι συγχρονίζονται. Το ArrayList δεν είναι συγχρονισμένο. Ο φορέας χρησιμοποιεί Enumerator και Iterator για διασχίζοντας. Το ArrayList χρησιμοποιεί μόνο Iterator. Οι διανυσματικές λειτουργίες είναι πιο αργές. Το ArrayList είναι πιο γρήγορο. Το Vector είναι ασφαλές για νήματα που σημαίνει ότι η χρήση του Vector από πολλά νήματα επιτρέπεται και είναι ασφαλής. Το ArrayList δεν είναι ασφαλές για νήματα.
Συχνές Ερωτήσεις
Q # 1) Τι είναι το Vector στην Java;
Απάντηση: Στην Java, ένα διάνυσμα μπορεί να οριστεί ως ένας αναπτυσσόμενος πίνακας αντικειμένων. Παρόμοια με τους πίνακες, τα διανυσματικά στοιχεία μπορούν επίσης να προσεγγιστούν χρησιμοποιώντας δείκτες.
Ε # 2) Το διάνυσμα έχει παραγγελθεί σε Java;
Απάντηση: Ναί. Ο Διάνυσμα διατάσσεται και διατηρεί τη σειρά εισαγωγής για στοιχεία.
Ε # 3) Είναι ασφαλές το νήμα του φορέα στην Java;
Απάντηση: Ναί. Στην Java, η κλάση Vector είναι ασφαλής για νήματα. Καθώς η κλάση Vector είναι συγχρονισμένη, το καθιστά ασφαλές για νήματα, δηλαδή μπορείτε να χρησιμοποιήσετε την κλάση Vector από πολλά νήματα και είναι ασφαλές.
Q # 4) Γιατί χρησιμοποιούμε το διάνυσμα στο Java;
Απάντηση: Ο πιο σημαντικός λόγος για τον οποίο το Vector χρησιμοποιείται στην Java είναι ότι ένας φορέας μεγαλώνει και συρρικνώνεται αυτόματα. Είναι δυναμικά εξαιτίας των οποίων προτιμούνται έναντι συστοιχιών.
Q # 5) Ποιο είναι καλύτερο - ArrayList ή διάνυσμα;
Απάντηση: Το ArrayList με γνώμονα την απόδοση είναι ταχύτερο σε σύγκριση με το Vector καθώς το Vector συγχρονίζεται και το καθιστά πιο αργό.
συμπέρασμα
Σε αυτό το σεμινάριο, ξεκινήσαμε με τη δομή δεδομένων Vector στην Java. Τα διανύσματα είναι σχεδόν παρόμοια με μια συστοιχία στην οποία έχουν προσπελαστεί τα διανυσματικά στοιχεία χρησιμοποιώντας γνωστούς δείκτες. Τα διανύσματα ονομάζονται δυναμική συστοιχία και σε αντίθεση με τις συστοιχίες, το μέγεθος του διανύσματος αυξάνεται και συρρικνώνεται αυτόματα.
Τα διανύσματα έχουν επίσης τις δυνατότητες χωρητικότητας και αύξησης που μπορούν να χρησιμοποιηθούν για τη δημιουργία και την επιφύλαξη πρόσθετου χώρου αποθήκευσης για μελλοντικές προσθήκες. Το Vector είναι μια κλάση παλαιού τύπου στο πακέτο java.util της Java και είναι συγχρονισμένο καθώς και ασφαλές για νήματα.
Επομένως, θα πρέπει να προτιμούμε διανύσματα όταν χρειαζόμαστε δυναμικό μέγεθος και επίσης, ενώ εργαζόμαστε σε ένα περιβάλλον πολλαπλών νημάτων.
=> Επισκεφτείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκμάθησης Java.
Συνιστώμενη ανάγνωση
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- Εκμάθηση Java Reflection με παραδείγματα
- Java Interface και Abstract Class Tutorial με παραδείγματα
- Jagged Array In Java - Εκμάθηση με παραδείγματα
- Εκμάθηση μήκους σειράς Java με παραδείγματα κώδικα
- Πώς να ταξινομήσετε μια σειρά σε Java - Tutorial με παραδείγματα
- Java 'αυτό' Λέξη-κλειδί: Εκμάθηση με παραδείγματα κώδικα
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα