This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| java:jfc_intf_set [2015/03/16 17:00] gthanos created | java:jfc_intf_set [2016/02/26 11:15] (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Set ====== | + | ====== java.util.Set ====== | 
| - | Το //Set// είναι ένα Collection το οποίο δεν επιτρέπει διπλές εγγραφές. Δείτε το παρακάτω παράδειγμα κώδικα | + | Το [[http://docs.oracle.com/javase/7/docs/api/java/util/Set.html|Set]] είναι ένα Collection το οποίο δεν επιτρέπει διπλές εγγραφές. Δείτε το παρακάτω παράδειγμα κώδικα που εξηγεί την λειτουργία του //Set//. | 
| <code java FindDups2.java> | <code java FindDups2.java> | ||
| Line 21: | Line 21: | ||
| } | } | ||
| </code> | </code> | ||
| + | Ένα ενδεικτικό τρέξιμο είναι το παρακάτω | ||
| + | <code> | ||
| + | $> java FindDups2 me you me he he her see me you | ||
| + | Unique words:  [see, her] | ||
| + | Duplicate words: [you, me, he] | ||
| + | </code> | ||
| + | |||
| + | ===== Υλοποιήσεις ===== | ||
| + | |||
| + | |||
| + | Βασικές υλοποιήσεις του [[https://docs.oracle.com/javase/7/docs/api/java/util/Set.html|Set]] interface είναι οι παρακάτω: | ||
| + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html|HashSet]]:** Υλοποιεί το Set μέσα από ένα [[wp>Hash_table|HashTable]]. Γρήγορο στην αναζήτηση. Δεν εγγυάται ότι η σειρά διάτρεξης είναι η σειρά με την οποία εισάγαμε τα δεδομένα. Απαιτεί κατά κανόνα περισσότερο χώρο αποθήκευσης από τον στοιχεία που περιέχει το Set. | ||
| + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html|TreeSet]]:** Υλοποιεί το Set μέσα από ένα [[wp>Red-black_tree|Red-Black tree]]. Πιο αργό στην αναζήτηση. Δεν εγγυάται ότι η σειρά διάτρεξης είναι η σειρά με την οποία εισάγαμε τα δεδομένα. Η σειρά διάτρεξης είναι η σειρά κατάταξης των στοιχείων (υλοποιεί τον interface [[http://docs.oracle.com/javase/7/docs/api/java/util/SortedSet.html|SortedSet]]). | ||
| + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashSet.html|LinkedHashSet]]:** Υλοποιεί το Set μέσα από ένα [[wp>Hash_table|HashTable]] με παράλληλη χρήση διπλά διασυνδεδεομένης λίστας. Γρήγορο στην αναζήτηση. Εγγυάται ότι η σειρά διάτρεξης είναι η σειρά με την οποία εισάγαμε τα δεδομένα, λόγω της ύπαρξης της λίστας. Απαιτεί κατά κανόνα περισσότερο χώρο αποθήκευσης από τον στοιχεία που περιέχει το Set. | ||