====== Συλλογές (Java Collections Framework) ====== Το Java Collections Framework υλοποιεί δομές αποθήκευσης και ανάκτησης δεδομένων καθώς και αλγορίθμους εύρεσης και ταξινόμησης. Συνοπτικά απαρτίζεται από τα εξής: * **Interfaces:** Γενικοί τύποι δεδομένων που αφορούν επιμέρους κατηγορίες δομών αποθήκευσης. * **Interface Implementations:** Οι κλάσεις οι οποίες υλοποιούν τα παραπάνω Interfaces. Σε πολλές περιπτώσεις οι κλάσεις αυτές εισάγουν επιπλέον μεθόδους σε σχέση με τις μεθόδους που προτυποποιούν τα interfaces. * **Αλγόριθμοι:** υλοποιήσεις αλγορίθμων, όπως αλγόριθμοι αναζήτησης, αλγόριθμοι ταξινόμησης κ.α. ===== Πλεονεκτήματα χρήσης του Java Collections Framework (JCF) ===== * **Λιγότερος κώδικας προς ανάπτυξη:** Κάθε φορά που χρειάζεστε μία διασυνδεδεμένη λίστα ή ένα δένδρο είναι ευκολότερο να το πάρετε έτοιμο. * **Αύξηση της ταχύτητας και της ποιότητας του τελικού προγράμματος:** Καθώς το Java Collections Framework (JCF) αποτελείται από βέλτιστες υλοποιήσεις είναι απίθανο να υλοποιήσετε καλύτερα δομές δεδομένων και αλγορίθμους που υλοποιεί το framework. * **Ενοποίηση σχετικά ανομοιογενών APIs μέσω των interfaces:** Τα interfaces που παρέχει το JCF διατηρούν κοινά χαρακτηριστικά που κάνουν ευκολότερη την χρήση των δομών δεδομένων και των αλγορίθμων. Κατά συνέπεια, η εκμάθηση του framework είναι σχετικά εύκολη.