Διαφορά μεταξύ ArrayList και φορέα



ArrayList vs Vector

Ένας φορέας εφαρμόζει πίνακες που μπορούν να αναπτυχθούν / συρρικνωθούν κατά το χρόνο εκτέλεσης όταν κάποια στοιχεία προστίθενται ή αφαιρούνται από αυτό. Η πρόσβαση στα στοιχεία του γίνεται με ακέραιο ευρετήριο. Δύο πεδία - αύξηση χωρητικότητας και χωρητικότητας, χαρακτηρίζουν τη διαχείριση αποθήκευσης διανυσμάτων. Εφαρμόζει τέσσερις διεπαφές:
* Λίστα
* Τυχαία πρόσβαση
* Κλωνοποιήσιμο
* Σειριακή δυνατότητα διεπαφής



Το ArrayList, όπως και τα διανύσματα, εφαρμόζει επίσης τέσσερις διεπαφές. Και πάλι, όπως τα διανύσματα, το μέγεθός του μπορεί να αλλάξει κατά τη διάρκεια του χρόνου εκτέλεσης. Επίσης, έχει ένα πεδίο που ονομάζεται χωρητικότητα του οποίου το μέγεθος είναι τόσο μεγάλο όσο το μέγεθος του ArrayList.



Και τα δύο διανύσματα και το ArrayList είναι καλά για την ανάκτηση στοιχείων από οποιαδήποτε θέση και επίσης για την εισαγωγή ή διαγραφή στοιχείων από το τέλος της κατηγορίας κοντέινερ.
Από την οπτική γωνία του API, και οι δύο φορείς Το ArrayList είναι πολύ παρόμοιο . Πού βρίσκεται ακριβώς η διαφορά μεταξύ των δύο; Τα ακόλουθα σημεία θα ρίξουν φως σε αυτό το θέμα:

1. Συγχρονισμός: Τα διανύσματα συγχρονίζονται αλλά το ArrayList δεν είναι. Εάν προσθέσετε ή διαγράψετε στοιχεία από ένα ArrayList, αναφέρεται ως δομική τροποποίηση. Όταν πολλά νήματα έχουν πρόσβαση σε μια λίστα ArrayList ταυτόχρονα με ένα μπλοκ κώδικα που τροποποιεί τη λίστα, τότε κάποιος πρέπει να συγχρονίσει εξωτερικά τη λίστα. Εν ολίγοις, τα διανυσματικά περιεχόμενα είναι ασφαλή για νήματα, ενώ το ArrayList's δεν είναι. Εάν η απαίτηση δεν αναφέρει συλλογή ασφαλούς νήματος, τότε θα πρέπει να επιλέξετε το ArrayList καθώς ο συγχρονισμός επιτυγχάνει την απόδοση. Οι μη συγχρονισμένες ArrayLists είναι γρήγορες.

2. Ανάπτυξη δεδομένων: Τόσο τα στοιχεία ArrayList όσο και τα διανυσματικά στοιχεία αποθηκεύονται ως πίνακες, αλλά τα διανύσματα έχουν προεπιλεγμένο μέγεθος 10 και το ArrayList δεν έχει προεπιλεγμένο μέγεθος. Όταν κάποιος προσθέτει ένα στοιχείο είτε σε ArrayList είτε σε φορέα, υπάρχει πιθανότητα να μπορεί να εξαντληθεί κάθε κατηγορία. Σε μια τέτοια περίπτωση, από προεπιλογή ένα Vector διπλασιάζει το μέγεθός του, ενώ το μέγεθος ArrayList αυξάνεται κατά 50%. Μπορείτε να ορίσετε μια τιμή αύξησης στην περίπτωση διανυσμάτων που δεν είναι δυνατή για το ArrayList.



3. Διασχίζοντας τα στοιχεία: Το ArrayList έχει ένα πλεονέκτημα εδώ καθώς μπορείτε να αποκτήσετε πρόσβαση στα στοιχεία του χρησιμοποιώντας απλά ένα ευρετήριο. Στην περίπτωση διανυσμάτων, πρέπει να δημιουργήσετε έναν επαναληπτικό για να διασχίσετε τα στοιχεία του.

Περίληψη:

1. Εάν η κλάση κοντέινερ πρόκειται να τροποποιηθεί από ένα μόνο νήμα ή κάποια τοπική μεταβλητή, τότε θα πρέπει να χρησιμοποιήσετε ένα ArrayList.
2. Όταν η κλάση κοντέινερ έχει πρόσβαση σε πολλά νήματα, τότε χρησιμοποιήστε διανύσματα αλλιώς θα πρέπει να κάνετε χειροκίνητο συγχρονισμό.
3. Μπορούμε να καθορίσουμε το μέγεθος αύξησης με το διάνυσμα και με το ArrayList δεν μπορούμε.
4. Ένας φορέας είναι συγχρονισμένος και ένα ArrayList δεν είναι.
5. Ένας φορέας μπορεί να αυξήσει το μέγεθος διπλάσιο. Το ArrayList μπορεί να το αυξήσει κατά 50%.

Δημοφιλείς Αναρτήσεις

Δεύτερος Παγκόσμιος Πόλεμος: Αποστολή Buna



Η εισαγωγή του υπολοχαγού Ρόμπερτ Χ. Ούντελ στη μάχη ήταν στις βάναυσες μάχες στη Νέα Γουινέα για να πάρει την Μπόνα.

Διαφορά μεταξύ AIFF και AAC

AIFF έναντι AAC AIFF (Audio Interchange File Format) και AAC (Advanced Audio Coding) είναι δύο αλγόριθμοι κωδικοποίησης που χρησιμοποιούνται κυρίως από τα προϊόντα της Apple, αν και

Διαφορά μεταξύ πιστοποιημένων ιδιοκτησιακών και μεταχειρισμένων

Σήμερα, οι έμποροι αυτοκινήτων υποκύπτουν σε αυτή τη νέα μεθοδολογία, πουλώντας προ-ιδιόκτητα αντί μεταχειρισμένων αυτοκινήτων. Είναι αρκετά παρόμοιο με αυτό που οι εταιρείες χρησιμοποιούν όρους όπως η μείωση του μεγέθους

Πού τραβάτε το όριο μεταξύ σέξι και κομψού όταν πρόκειται για την γκαρνταρόμπα σας;

Σήμερα σηματοδοτεί την επίσημη έναρξη του Ryan Crazy Holiday Adventure. Τις επόμενες εβδομάδες, θα παρακολουθήσω πολλά πάρτι διακοπών, θα επιστρέψω στην πολιτεία της Ουάσινγκτον, θα προλάβω τις αγορές δώρων μου, θα δω παλιούς φίλους, θα κάνω παρέα με την οικογένειά μου, θα δω πολύ τηλεόραση, θα πιω πολύ, θα πετάξω πίσω στη Νέα Υόρκη και ανατινάξτε τα πράγματα την παραμονή της Πρωτοχρονιάς. Φτου. Αυτό δεν αφήνει πολύ χρόνο για ραντεβού, αλλά για να είμαι ειλικρινής ένα μικρό διάλειμμα μπορεί να μου κάνει καλό. Τέλος πάντων: Το Σάββατο ήμουν έξω στο μπαρ και γιόρταζα τα γενέθλια της φίλης μου Katie και δεν μπορούσα να κρατήσω τα μάτια μου μακριά από μια γυναίκα που έκανε παρέα στο δωμάτιο. Επιτρέψτε μου να γίνω πιο συγκεκριμένος: δεν μπορούσα να κρατήσω τα μάτια μου μακριά από το στήθος της. Skeezy, το ξέρω, αλλά άκουσέ με.

Ένα βασιλικά φοβερό αξεσουάρ νυφικής τρίχας-συν, 5 αξεσουάρ με λαμπερά μαλλιά που δεν χρειάζεστε τον προϋπολογισμό μιας πριγκίπισσας για να αγοράσετε!

Είτε θα φορούσες ή όχι το νυφικό της Charlene Wittstock, πρέπει να παραδεχτείς ότι το αξεσουάρ για τα μαλλιά της ήταν πολύ φοβερό.

Διαφορές μεταξύ Σανσκριτικών και Χίντι

Εισαγωγή Τα σανσκριτικά είναι μια από τις παλαιότερες κλασσικές γλώσσες στον κόσμο που δημιουργήθηκε, αναπτύχθηκε και θρέφτηκε από ανθρώπους που ζούσαν στην ανατολική πλευρά του