====== Συλλογές (Collections) ====== Το Java Collections Framework υλοποιεί δομές αποθήκευσης και ανάκτησης δεδομένων καθώς και αλγορίθμους εύρεσης και ταξινόμησης. Συνοπτικά απαρτίζεται από τα εξής: * **Interfaces:** Γενικοί τύποι δεδομένων που προτυποποιούν τη συμπεριφορά των κλάσεων που τα υλοποιούν. Για παράδειγμα προτυποποιούνται τα interfaces [[http://docs.oracle.com/javase/7/docs/api/java/util/List.html|List]], [[http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html|Queue]], [[http://docs.oracle.com/javase/7/docs/api/java/util/Map.html|Map]], [[http://docs.oracle.com/javase/7/docs/api/java/util/Set.html|Set]], [[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html|SortedSet]] * **Interface Implementations:** Οι κλάσεις οι οποίες υλοποιούν τα συγκεκριμένα Interfaces. Για παράδειγμα, το interface [[http://docs.oracle.com/javase/7/docs/api/java/util/List.html|List]] υλοποιείται από τις κλάσεις [[http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html|ArrayList]] και [[http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html|LinkedList]]. * **Αλγόριθμοι:** υλοποιήσεις αλγορίθμων, όπως αλγόριθμοι αναζητήσεως και αλγόριθμοι ταξινομήσεως. ===== Πλεονεκτήματα χρήσης του Java Collections Framework ===== * **Λιγότερος κώδικας προς ανάπτυξη:** Κάθε φορά που χρειάζεστε μία διασυνδεδεμένη λίστα ή ένα δένδρο είναι ευκολότερο να το πάρετε έτοιμο. * **Αύξηση της ταχύτητας και της ποιότητας του τελικού προγράμματος:** Καθώς το JCF αποτελείται από βέλτιστες υλοποιήσεις είναι μάλλο απίθανο να υλοποιήσετε καλύτερα δομές δεδομένων και αλγορίθμους που υλοποιεί το framework. * **Ενοποίηση σχετικά ανομοιογενών APIs:** Τα ΑPIs που παρέχει το JCF διατηρούν κοινά χαρακτηριστικά που κάνουν ευκολότερη την χρήση των δομών δεδομένων και των αλγορίθμων. Κατά συνέπεια, η εκμάθηση του framework είναι σχετικά εύκολη. |Προηγούμενο: [[:java:generics | Παραμετρικοί τύποι δεδομένων (Generics) ]] | [[:toc | Περιεχόμενα ]] | Επόμενο: [[:java:jfc_interfaces | JCF Interfaces ]] |