java:jfc_intf_collection

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:jfc_intf_collection [2015/03/22 19:20]
gthanos
java:jfc_intf_collection [2017/02/17 15:47]
gthanos [2ος τρόπος - iterator]
Line 1: Line 1:
-====== Collection ​Interface ​======+====== ​java.util.Collection ======
  
-Το βασικό Interface ​στην Java το οποίο αποτελεί το ελάχιστον κοινό ​Interface ​των ​//Set////List//, //Queue////Dequeue//.+To interface Collection περιγράφει μία συλλογή ​στοιχείων ιδίου ​τύπου. Αποτελεί το ελάχιστο κοινό ​interface ​των ​[[java:​jfc_intf_set|Set]][[java:​jfc_intf_list|List]][[https://docs.oracle.com/javase/7/docs/api/java/util/​Queue.html|Queue]].
  
 ===== Διάτρεξη ενός Collection ===== ===== Διάτρεξη ενός Collection =====
Line 53: Line 53:
 </​code>​ </​code>​
  
-Συνιστάται ο 2ος τρόπος αντί για τον 1ο εάν θέλετε καθώς διατρέχετε τη συλλογή να διαγράφετε και εγγραφές. ​+Συνιστάται ο 2ος τρόπος αντί για τον 1ο εάν θέλετε καθώς διατρέχετε τη συλλογή να διαγράφετε και εγγραφές. Μπορείτε να διαγράφετε εγγραφές μέσω της μεθόδου [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​Iterator.html#​remove()|remove()]] του iterator.
  
 ===== Βασικές μέθοδοι ===== ===== Βασικές μέθοδοι =====
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
     ​     ​
     /*     /*
Line 115: Line 115:
 } }
 </​code>​ </​code>​
 +
 +Στην συνέχεια βάλτε σχόλια στην γραμμή που υποδεικνύουν τα σχόλια και αφαιρέστε το τμήμα του κώδικα που είναι σε σχόλια. Μεταγλωττίστε και τρέξτε. Ποιό είναι το αποτέλεσμα αυτή την φορά; Γιατί συμβαίνει αυτό;
 +
 +<WRAP center 70% round 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''​. * **[[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​util/​Collection.html#​addAll%28java.util.Collection%29|addAll(Collection<?>​ c)]]** - Προσθέτει όλες τις εγγραφές που περιέχονται στο Collection ''​c''​.
Line 201: Line 207:
     StudentCollection stl = new StudentCollection(); ​   ​     StudentCollection stl = new StudentCollection(); ​   ​
     Collection <​Student>​ sts = new LinkedList<​Student>​();​     Collection <​Student>​ sts = new LinkedList<​Student>​();​
 +    ​
 +    //comment for statement
     int i=0;     int i=0;
     for(Student st : stl.getStudents()) {     for(Student st : stl.getStudents()) {
Line 206: Line 214:
       if(++i==2) break;       if(++i==2) break;
     }     }
 +    ​
 +    //and uncomment this code below
 +    /*
 +    sts.add(new Student("​John",​ "​Smith"​));​
 +    sts.add(new Student("​Stanley",​ "​Peters"​));​
 +    */
     ​     ​
     stl.getStudents().removeAll(sts);​     stl.getStudents().removeAll(sts);​
Line 213: Line 227:
  
 </​code>​ </​code>​
 +
 +<WRAP center 70% round tip>
 +Και εδώ ισχύει ότι αναφέραμε παραπάνω αναφορικά με την σύγκριση των //​Collections//​. Eάν η λίστα //sts// δημιουργηθεί από αντίγραφα των αντικειμένων της λίστας //stl//, η μέθοδος //​removeAll//​ δεν θα αφαιρέσει τίποτα.
 +</​WRAP>​
  
  
  
java/jfc_intf_collection.txt · Last modified: 2017/02/17 16:29 by gthanos