java:jfc_intf_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
java:jfc_intf_list [2015/03/16 18:17]
gthanos created
java:jfc_intf_list [2015/03/17 13:35]
gthanos [Υλοποιήσεις]
Line 9: Line 9:
   * **[[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​List.html#​subList(int,​%20int)|subList(int fromIndex, int toIndex)]] - ** Επιστρέφει μία υπολίστα της αρχικής λίστας,​ από //​fromIndex//​ έως //​toIndex//​.   * **[[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​List.html#​subList(int,​%20int)|subList(int fromIndex, int toIndex)]] - ** Επιστρέφει μία υπολίστα της αρχικής λίστας,​ από //​fromIndex//​ έως //​toIndex//​.
   * **[[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​List.html#​set(int,​%20E)|set(int index, E element)]] -** Αντικαθιστά το αντικείμενο στην θέση //index// με το //element// επιστρέφοντας το αντικείμενο που ήταν αρχικά αποθηκευμένο. Εάν το //index// που δίνεται είναι εκτός των ορίων της λίστας throws //​IndexOutOfBoundsException//​.   * **[[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​List.html#​set(int,​%20E)|set(int index, E element)]] -** Αντικαθιστά το αντικείμενο στην θέση //index// με το //element// επιστρέφοντας το αντικείμενο που ήταν αρχικά αποθηκευμένο. Εάν το //index// που δίνεται είναι εκτός των ορίων της λίστας throws //​IndexOutOfBoundsException//​.
 +  * Η μέθοδος [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​List.html#​listIterator()|listIterator()]] επιστρέφει ένα ListIterator object που επιτρέπει την διάτρεξη της λίστας από το τέλος προς την αρχή, όπως παρακάτω.
 +
 +<code java>
 +for (ListIterator<​Type>​ it = list.listIterator(list.size());​ it.hasPrevious();​ ) {
 +    Type t = it.previous();​
 +    ...
 +}
 +</​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.
 +
 +
 +
 +
 +
  
  
java/jfc_intf_list.txt · Last modified: 2017/05/12 13:29 by gthanos