Διαφορά κλειδιού - ArrayList vs LinkedList

Οι συλλογές είναι χρήσιμες για την αποθήκευση δεδομένων. Σε μια κανονική διάταξη, το μέγεθος του πίνακα είναι σταθερό. Μερικές φορές απαιτείται η δημιουργία συστοιχιών που μπορούν να αναπτυχθούν ανάλογα με τις ανάγκες. Οι γλώσσες προγραμματισμού όπως η Java έχουν συλλογές. Είναι ένα πλαίσιο με ένα σύνολο κατηγοριών και διεπαφών. Χρησιμεύει ως δοχείο για μια ομάδα στοιχείων. Οι συλλογές επιτρέπουν την αποθήκευση, την ενημέρωση, την ανάκτηση συνόλου στοιχείων. Βοηθά στην εργασία με δομές δεδομένων όπως λίστες, σύνολα, δέντρα και χάρτες. Ο κατάλογος είναι μια διεπαφή του πλαισίου συλλογής. Το ArrayList και το LinkedList είναι δύο κατηγορίες στο πλαίσιο των συλλογών. Εφαρμόζουν τη διεπαφή συλλογής και τη διεπαφή λίστας. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ του ArrayList και του LinkedList. Το ArrayList είναι μια κλάση που επεκτείνει το AbstractList και υλοποιεί τη διεπαφή List, η οποία εσωτερικά χρησιμοποιεί έναν δυναμικό πίνακα για την αποθήκευση δεδομένων. LinkedList είναι μια κλάση που επεκτείνει το AbstractSequentialList και υλοποιεί τις διεπαφές List, Deque και Queue, οι οποίες εσωτερικά χρησιμοποιούν μια διπλά συνδεδεμένη λίστα για την αποθήκευση στοιχείων δεδομένων. Αυτή είναι η βασική διαφορά μεταξύ του ArrayList και του LinkedList.

ΠΕΡΙΕΧΟΜΕΝΑ

1. Επισκόπηση και διαφορά κλειδιών 2. Τι είναι το ArrayList 3. Τι είναι το LinkedList 4. Ομοιότητες μεταξύ του ArrayList και του LinkedList 5. Παράλληλη σύγκριση - ArrayList vs LinkedList στην πινακοποιημένη φόρμα 6. Σύνοψη

Τι είναι το ArrayList;

Η κλάση ArrayList χρησιμοποιείται για τη δημιουργία δυναμικών συστοιχιών. Σε αντίθεση με έναν κανονικό πίνακα, το μέγεθος ενός δυναμικού πίνακα δεν είναι σταθερό. Ένα αντικείμενο που δημιουργείται χρησιμοποιώντας την κλάση ArrayList επιτρέπεται να αποθηκεύει ένα σύνολο στοιχείων στη λίστα. Η χωρητικότητα αυξάνεται αυτόματα, οπότε ο προγραμματιστής μπορεί να προσθέσει στοιχεία στη λίστα. Η κλάση ArrayList επεκτείνει την κλάση AbstractList που εφαρμόζει τη διεπαφή λίστας. Επομένως, οι μέθοδοι της διεπαφής λίστας μπορούν να χρησιμοποιηθούν από το ArrayList. Για την πρόσβαση σε στοιχεία, χρησιμοποιείται η μέθοδος get (). Η μέθοδος add () μπορεί να χρησιμοποιηθεί για την προσθήκη στοιχείων στη λίστα. Η μέθοδος αφαίρεσης () χρησιμοποιείται για την κατάργηση ενός στοιχείου από τη λίστα. Ανατρέξτε στο παρακάτω πρόγραμμα.

Σύμφωνα με το παραπάνω πρόγραμμα, δημιουργείται ένα αντικείμενο του ArrayList. Χρησιμοποιώντας τη μέθοδο προσθήκης, τα στοιχεία μπορούν να προστεθούν δυναμικά. Τα στοιχεία "Α", "Β", "C", "D" και "E" προστίθενται χρησιμοποιώντας τη μέθοδο προσθήκης. Η μέθοδος αφαίρεσης χρησιμοποιείται για την κατάργηση ενός στοιχείου από τη λίστα. Όταν μεταβιβάζεστε 4 στη μέθοδο αφαίρεσης, το γράμμα στον 4ο ευρετήριο που είναι "E" αφαιρείται από τη λίστα. Όταν ανακυκλώνετε στη λίστα χρησιμοποιώντας τον βρόχο for, τα γράμματα A, B, C και D θα εκτυπωθούν.

Τι είναι το LinkedList;

Παρόμοια με το ArrayList, το LinkedList χρησιμοποιείται για την δυναμική αποθήκευση δεδομένων. Ένα αντικείμενο που δημιουργείται χρησιμοποιώντας την κλάση LinkedList επιτρέπεται να αποθηκεύει ένα σύνολο στοιχείων στη λίστα. Η χωρητικότητα αυξάνεται αυτόματα, οπότε ο προγραμματιστής μπορεί να προσθέσει στοιχεία στη λίστα. Εσωτερικά χρησιμοποιεί διπλά συνδεδεμένη λίστα για την αποθήκευση δεδομένων. Σε μια διπλά συνδεδεμένη λίστα, τα δεδομένα αποθηκεύονται ως κόμβοι. Κάθε κόμβος περιέχει δύο συνδέσμους. Ο πρώτος σύνδεσμος δείχνει τον προηγούμενο κόμβο. Ο επόμενος σύνδεσμος δείχνει τον επόμενο κόμβο στην ακολουθία.

Η κλάση LinkedList επεκτείνει την κλάση AbstractSequentialList και υλοποιεί τη διεπαφή λίστας. Επομένως, οι μέθοδοι της διεπαφής λίστας μπορούν να χρησιμοποιηθούν από το LinkedList. Η μέθοδος get () μπορεί να χρησιμοποιηθεί για την πρόσβαση σε στοιχεία της λίστας. Η μέθοδος add () μπορεί να χρησιμοποιηθεί για την προσθήκη στοιχείων στη λίστα. Η μέθοδος αφαίρεσης () χρησιμοποιείται για την κατάργηση ενός στοιχείου από τη λίστα. Ανατρέξτε στο παρακάτω πρόγραμμα.

Σύμφωνα με το παραπάνω πρόγραμμα, δημιουργείται ένα αντικείμενο του LinkedList. Χρησιμοποιώντας τη μέθοδο προσθήκης, τα στοιχεία μπορούν να προστεθούν δυναμικά. Τα στοιχεία "Α", "Β", "C", "D" και "E" προστίθενται χρησιμοποιώντας τη μέθοδο προσθήκης. Η μέθοδος αφαίρεσης χρησιμοποιείται για την κατάργηση ενός στοιχείου από τη λίστα. Όταν περάσατε 4 στη μέθοδο αφαίρεσης, το γράμμα στον 4ο ευρετήριο που "E" καταργείται από τη λίστα. Όταν ανακυκλώνεται χρησιμοποιώντας τον βρόχο for, τα γράμματα A, B, C και D θα εκτυπωθούν.

Ποιες είναι οι ομοιότητες μεταξύ του ArrayList και του LinkedList;

  • Τόσο το ArrayList όσο και το LinkedList εφαρμόζουν διεπαφή λίστας εφαρμογών. Τόσο το ArrayList όσο και το LinkedList μπορούν να περιέχουν διπλότυπα στοιχεία. Τόσο το ArrayList όσο και το LinkedList διατηρούν την εντολή εισαγωγής.

Ποια είναι η διαφορά μεταξύ του ArrayList και του LinkedList;

Περίληψη - ArrayList vs LinkedList

Το πλαίσιο συλλογής επιτρέπει την εργασία με δομές δεδομένων όπως λίστες, δέντρα, χάρτες και σύνολα. Ο κατάλογος είναι μια διεπαφή του πλαισίου συλλογής. Αυτό το άρθρο συζήτησε τη διαφορά μεταξύ του ArrayList και του LinkedList. Το ArrayList είναι μια κλάση που επεκτείνει το AbstractList και υλοποιεί τη διεπαφή λίστας που εσωτερικά χρησιμοποιεί έναν δυναμικό πίνακα για την αποθήκευση δεδομένων. LinkedList είναι μια κλάση που επεκτείνει το AbstractSequentialList και υλοποιεί τις διεπαφές List, Deque, Queue, η οποία εσωτερικά χρησιμοποιεί μια διπλά συνδεδεμένη λίστα για την αποθήκευση στοιχείων δεδομένων. Αυτή είναι η διαφορά μεταξύ του ArrayList και του LinkedList.

Αναφορά:

Εισαγωγή στη συνδεδεμένη λίστα Δομή δεδομένων Δομή Studytonight. Διατίθεται εδώ 2. "LinkedList στην Java - javatpoint", The Point, Διαθέσιμο εδώ 3. "Java ArrayList class - javatpoint". Το σημείο, διαθέσιμο εδώ