This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
java:jfc_intf_list [2015/03/16 18:19] gthanos |
java:jfc_intf_list [2015/03/17 13:35] gthanos [Υλοποιήσεις] |
||
---|---|---|---|
Line 17: | Line 17: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | ===== Υλοποιήσεις ===== | ||
+ | |||
+ | |||
+ | Υπάρχουν δύο βασικές κλάσεις που υλοποιούν το συγκεκριμένο interface, [[https://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html|ArrayList]] και [[https://docs.oracle.com/javase/8/docs/api/java/util/LinkedList.html|LinkedList]]. Κάθε μία υλοποίηση έχει θετικά και αρνητικά σημεία. Συνήθως χρησιμοποιούμε την ArrayList, παρακάτω γίνεται μία ανάλυση των δύο υλοποιήσεων. | ||
+ | |||
+ | * Χρόνος αναζήτησης στοιχείου: Η ArrayList έχει σταθερό χρόνο αναζήτησης, ενώ η LinkedList έχει γραμμικό χρόνο αναζήτησης. | ||
+ | * Εισαγωγή στοιχείου στο τέλος: Και οι δύο έχουν τον ίδιο χρόνο εισαγωγής. | ||
+ | * Εισαγωγή στοιχείου στην αρχή ή στην μέση: Η ArrayList έχει γραμμικό χρόνο εισαγωγής ενώ η LinkedList έχει σταθερό χρόνο. | ||
+ | * Η LinkedList έχει τις επιπλέον μεθόδους addFirst, getFirst, removeFirst, addLast, getLast και removeLast. | ||
+ | * Η LinkedList υλοποιεί το Queue interface. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||