java:jfc_intf_collection

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Collection Interface ====== Το βασικό Interface στην Java το οποίο αποτελεί το ελάχιστον κοινό Interface των //Set//, //List//, //Queue//, //Dequeue//. ===== Διάτρεξη ενός Collection ===== ==== 1ος τρόπος - for() ==== <code java StudentCollection.java> import java.util.*; import java.lang.*; public class StudentCollection { private Collection<Student> students; public StudentCollection() { students = new LinkedList<Student>(); populateList(); } public final void populateList() { students.add(new Student("John", "Smith")); students.add(new Student("Stanley", "Peters")); students.add(new Student("Edgar", "Bloch")); students.add(new Student("Suzan", "Miles")); students.add(new Student("Mary", "Poppins")); } public void iterateList() { for(Student st: students) { System.out.println(st.toString()); } } public static void main(String args[]) { StudentCollection stl = new StudentCollection(); stl.iterateList(); } } </code> ==== 2ος τρόπος - iterator ==== Μπορείτε να αντικαταστήσετε την ''iterateList'' με την παρακάτω υλοποίηση <code java> public void iterateList() { Iterator<Student> it = students.iterator(); while( it.hasNext() ) { System.out.println(it.next().toString()); } } </code> Συνιστάται ο 2ος τρόπος αντί για τον 1ο εάν θέλετε καθώς διατρέχετε τη συλλογή να διαγράφετε και εγγραφές. ===== Βασικές μέθοδοι ===== * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#isEmpty()|isEmpty()]]:** Εξετάζει αν το Collection έχει περιεχόμενα ή όχι επιστρέφοντας true/false. * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#size()|size()]]:** Επιστρέφει τον αριθμό των αντικειμένων που περιέχει το 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. ===== Εργασίες με πολλαπλές εγγραφές ===== * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#clear()|clear()]]** - Διαγράφει όλα τα περιεχόμενα του Collection. * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#containsAll%28java.util.Collection%29|containsAll(Collection<?> c)]]** - Επιστρέφει true εάν υπάρχουν όλα τα μέλη της ''c'' στην αρχική λίστα. Διαφορετικά επιστρέφει false. <code java StudentCollection.java> import java.util.*; import java.lang.*; import java.util.*; import java.lang.*; public class StudentCollection { private Collection<Student> students; public StudentCollection() { students = new LinkedList<Student>(); populateList(); } public final void populateList() { students.add(new Student("John", "Smith")); students.add(new Student("Stanley", "Peters")); students.add(new Student("Edgar", "Bloch")); students.add(new Student("Suzan", "Miles")); students.add(new Student("Mary", "Poppins")); } public Collection<Student> getStudents() { return students; } public static void main(String args[]) { StudentCollection stl = new StudentCollection(); 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) ) { System.out.println("containsAll:TRUE"); } else { System.out.println("containsAll:FALSE"); } } } </code> Στην συνέχεια * **[[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> import java.util.*; import java.lang.*; import java.util.*; import java.lang.*; public class StudentCollection { private Collection<Student> students; public StudentCollection() { students = new LinkedList<Student>(); populateList(); } public final void populateList() { students.add(new Student("John", "Smith")); students.add(new Student("Stanley", "Peters")); students.add(new Student("Edgar", "Bloch")); students.add(new Student("Suzan", "Miles")); students.add(new Student("Mary", "Poppins")); } public Collection<Student> getStudents() { return students; } public void iterateList() { for(Student st: students) { System.out.println(st.toString()); } } public static void main(String args[]) { StudentCollection stl = new StudentCollection(); Collection <Student> sts = new LinkedList<Student>(); sts.add(new Student("Lena", "Travolta")); sts.add(new Student("George", "Thanos")); stl.getStudents().addAll(sts); stl.iterateList(); } } </code> * **[[https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html#removeAll(java.util.Collection)|removeAll(Collection<?> c)]]** - Αφαιρεί όλες τις εγγραφές που περιέχονται στο Collection ''c''. <code java StudentCollection.java> import java.util.*; import java.lang.*; import java.util.*; import java.lang.*; public class StudentCollection { private Collection<Student> students; public StudentCollection() { students = new LinkedList<Student>(); populateList(); } public final void populateList() { students.add(new Student("John", "Smith")); students.add(new Student("Stanley", "Peters")); students.add(new Student("Edgar", "Bloch")); students.add(new Student("Suzan", "Miles")); students.add(new Student("Mary", "Poppins")); } public Collection<Student> getStudents() { return students; } public void iterateList() { for(Student st: students) { System.out.println(st.toString()); } } public static void main(String args[]) { StudentCollection stl = new StudentCollection(); Collection <Student> sts = new LinkedList<Student>(); int i=0; for(Student st : stl.getStudents()) { sts.add(st); if(++i==2) break; } stl.getStudents().removeAll(sts); stl.iterateList(); } } </code>

java/jfc_intf_collection.1427052092.txt.gz · Last modified: 2016/02/26 11:15 (external edit)