java:jfc_interfaces

Interfaces

Παρακάτω δίνεται εποπτικά η λίστα με τα Interfaces που υποστηρίζει το JFC.

Όπως βλέπετε, έχουμε δύο τύπους interfaces, Collections και Maps. Τα παραπάνω interfaces χρησιμοποιούν κατά κανόνα παραμετρικούς τύπους δεδομένων. Συνοπτικά τα interfaces έχουν ως εξής:

  • Collection: Το βασικό interface στην ιεραρχία των interfaces. Το συγκεκριμένο interface παρέχει κάποιες μεθόδους οι οποίες με την σειρά τους υλοποιούνται από άλλα Interfaces. Αποτελεί ένα σύνολο κοινών μεθόδων τις οποίες πρέπει να μοιράζονται τα παρακάτω interfaces που το κληρονομούν. Δεν υπάρχουν υλοποιήσεις κλάσεων για το συγκεκριμένο interface, αλλά μόνο για τους απογόνους αυτού.
  • Set: Πρόκειται για ένα Collection που δεν μπορεί να αποθηκεύσει δύο φορές το ίδιο αντικείμενο (τα στοιχεία του είναι μοναδικά).
    • Sorted Set: Ένα Set που διατηρεί την σειρά των δεδομένων του με βάση συγκεκριμένους κανόνες ταξινόμησης.
  • List: Μία διασυνδεδεμένη λίστα. Χαρακτηριστικό της λίστας είναι ότι μπορούμε να διατρέξουμε τα στοιχεία με την σειρά που εισάγονται. Πρόκειται για διπλά διασυνδεδεμένη λίστα.
  • Queue: Υλοποίησης ενός FIFO Queue.
  • Dequeue: Υλοποίηση ενός LIFO (Last In, First Out) Queue.
  • Map: Ένα αντικείμενο που αντιστοιχεί κλειδιά σε δεδομένα. Κάθε κλειδί οδηγεί μοναδικά στο αντίστοιχο δεδομένο, επομένως δεν μπορούμε να έχουμε πολλαπλές καταχωρήσεις κλειδιών.
    • Sorted Map: Ένα Map που διατηρεί την σειρά των δεδομένων του με βάση συγκεκριμένους κανόνες ταξινόμησης.

Στα παραδείγματα που ακολουθούν χρησιμοποιείται για την αποθήκευση δεδομένων η κλάση Student που δίνεται παρακάτω:

Student.java
 
public class Student {
  private static int numOfStudents = 0;
  private int id;
  private String firstName;
  private String lastName;
 
  public Student(String fname, String lname) {
    firstName = fname;
    lastName = lname;
    id=++numOfStudents;
  }
 
  public void setFirstName( String firstName ) {
    this.firstName = firstName;  
  }
 
  public void setLastName( String lastName ) {
    this.lastName = lastName;  
  }
 
  public String getFirstName() {
    return firstName;
  }
 
  public String getLastName() {
    return lastName;
  }
 
  public int getId() {
    return id;
  }
 
  public boolean equals(Object obj) {
    if(!(obj instanceof Student) )
      return false;
    Student st = (Student)obj;
    if( id == id && firstName.equals(st.firstName) && lastName.equals(st.lastName) )
      return true;
    return false;
  }
 
  public String toString() {
    return id+". "+firstName+" "+lastName;
  }
}
java/jfc_interfaces.txt · Last modified: 2017/05/12 13:20 by gthanos