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_collection [2015/03/16 16:55] gthanos [Εργασίες με πολλαπλές εγγραφές] |
java:jfc_intf_collection [2015/03/22 19:26] gthanos |
||
---|---|---|---|
Line 43: | Line 43: | ||
==== 2ος τρόπος - iterator ==== | ==== 2ος τρόπος - iterator ==== | ||
- | Μπορείτε να αντικαταστήσετε την ''iterateList'' με την παρακάτω | + | Μπορείτε να αντικαταστήσετε την ''iterateList'' με την παρακάτω υλοποίηση |
<code java> | <code java> | ||
public void iterateList() { | public void iterateList() { | ||
Line 57: | Line 57: | ||
===== Βασικές μέθοδοι ===== | ===== Βασικές μέθοδοι ===== | ||
- | * **isEmpty():** Εξετάζει αν το Collection έχει περιεχόμενα ή όχι επιστρέφοντας true/false. | + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#isEmpty()|isEmpty()]]:** Εξετάζει αν το Collection έχει περιεχόμενα ή όχι επιστρέφοντας true/false. |
- | * **size():** Επιστρέφει τον αριθμό των αντικειμένων που περιέχει το Collection ή μηδέν αν είναι άδειο. | + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#size()|size()]]:** Επιστρέφει τον αριθμό των αντικειμένων που περιέχει το Collection ή μηδέν αν είναι άδειο. |
- | * **iterator():** Επιστρέφει ένα [[https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html|Iterator<E>]] object για την διάτρεξη του Collection. | + | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#iterator()|iterator()]]:** Επιστρέφει ένα [[https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html|Iterator<E>]] object για την διάτρεξη του Collection. |
Line 97: | Line 97: | ||
public static void main(String args[]) { | public static void main(String args[]) { | ||
StudentCollection stl = new StudentCollection(); | StudentCollection stl = new StudentCollection(); | ||
- | Collection <Student> sts = stl.getStudents(); | + | Collection <Student> sts = stl.getStudents(); // comment out this line and uncomment the following comments |
+ | |||
+ | /* | ||
+ | Collection <Student> sts = new LinkedList<Student>(); | ||
+ | sts.add(new Student("John", "Smith")); | ||
+ | sts.add(new Student("Stanley", "Peters")); | ||
+ | */ | ||
if( stl.getStudents().containsAll(sts) ) { | if( stl.getStudents().containsAll(sts) ) { | ||
Line 110: | Line 116: | ||
</code> | </code> | ||
- | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#addAll%28java.util.Collection%29|removeAll(Collection<?> c)]]** - Προσθέτει όλες τις εγγραφές που περιέχονται στο Collection ''c''. | + | Στην συνέχεια βάλτε σχόλια στην γραμμή που υποδεικνύουν τα σχόλια και αφαιρέστε το τμήμα του κώδικα που είναι σε σχόλια. Μεταγλωττίστε και τρέξτε. Ποιό είναι το αποτέλεσμα αυτή την φορά; Γιατί συμβαίνει αυτό; |
+ | |||
+ | <WRAP center 70% rounded tip> | ||
+ | Όταν συγκρίνονται δύο //Collections// ως προς τα περιεχόμενα τους συγκρίνουμε εάν η πρώτη περιέχει __τα ίδια ακριβώς__ στοιχεία με την δεύτερη, δηλαδή τα ίδια ακριβώς objects. Εάν δημιουργηθούν αντίγραφα των objects της μίας και τοποθετηθούν στην 2η η σύγκριση των περιεχομένων δεν επιστρέφει ισότητα. | ||
+ | </WRAP | ||
+ | |||
+ | * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#addAll%28java.util.Collection%29|addAll(Collection<?> c)]]** - Προσθέτει όλες τις εγγραφές που περιέχονται στο Collection ''c''. | ||
<code java StudentCollection.java> | <code java StudentCollection.java> |