User Tools

Site Tools


java:comparable

This is an old revision of the document!


Συγκρίνοντας αντικείμενα μεταξύ τους

Συχνά προκύπτει η ανάγκη να ταξινομήσουμε αντικείμενα ή να εφαρμόσουμε δυαδική αναζήτηση πάνω σε ένα ήδη ταξινομημένο σύνολο. Προκειμένου να εφαρμόσουμε τους παραπάνω αλγορίθμους είναι αναγκαίο να μπορούμε να συγκρίνουμε αντικείμενα μεταξύ τους. Ας υποθέσουμε ότι έχουμε μια σειρά από αντικείμενα της κλάσης Rectangle τα οποία θέλουμε να ταξινομήσουμε όπως παρακάτω:

Rectangle.java
class Rectangle {
 
  int width;
  int height;
 
  public Rectangle(int initWidth, int initHeight) {
    width = initWidth;
    height = initHeight;
  }
 
  int area() {
    return width * height;
  }
  public String toString() {
    return "width: "+width+", height: "+height;
  }
}
Rectangle.java
import java.util.Random;
class SortRectangleArray {
  public static void main(String []args) {
    Random rand = new Random(12345);
    Rectangle []rectangles = new Rectangles[5];
    for(int i=0;i<5; i++)
      rectangles[i] = new Rectangle(rand.nextInt(10), rand.nextInt(10));
 
    print_rectangles(rectangles);
    Arrays.sort(rectangles);
    print_rectangles(rectangles);
  }
 
  public print_rectangles(Rectangle []rectangles) {
    for(int i=0; i<rectangles.length; i++)
      System.out.println(i+". "+rectangles[i].toString());
  }
}
java/comparable.1582616185.txt.gz · Last modified: 2020/02/25 07:36 (external edit)