Facebook
From javaINTEL, 2 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 49
  1. package pl.edu.uwm.wmii.dobrenkocezary.labolatorium10;
  2.  
  3. import java.time.LocalDate;
  4. import java.util.ArrayList;
  5. import java.util.Collections;
  6. import java.util.List;
  7.  
  8. public class test {
  9.  
  10.     public static void main(String[] args) {
  11.     Osoba<String> obj1 = new Osoba<String>("Bonzo",1997,11,12);
  12.     Osoba<String> obj2 = new Osoba<String>("Kobra",1995,01,22);
  13.     System.out.println(obj1.toString());
  14.     System.out.println(obj2.toString());
  15.     System.out.println(obj1.equals(obj1));
  16.     System.out.println(obj1.equals(obj2));
  17.     System.out.println(obj1.compareTo(obj1));
  18.     System.out.println(obj1.compareTo(obj2));
  19.  
  20.     List<Osoba> lista = new ArrayList<Osoba>();
  21.     Osoba<String> l1 = new Osoba<String>("AAA",1998,11,12);
  22.     Osoba<String> l2 = new Osoba<String>("AAA",1997,11,12);
  23.     Osoba<String> l3 = new Osoba<String>("CCC",1992,11,12);
  24.     Osoba<String> l4 = new Osoba<String>("DDD",1992,11,12);
  25.     Osoba<String> l5 = new Osoba<String>("Dobrenko",1997,9,9);
  26.     lista.add(l1);
  27.     lista.add(l2);
  28.     lista.add(l3);
  29.     lista.add(l4);
  30.     lista.add(l5);
  31.  
  32.     for(Osoba o : lista) {
  33.         System.out.println(o.toString());
  34.     }
  35.     System.out.println("-------------------------------");
  36.     Collections.sort(lista);
  37.  
  38.     }
  39. }
  40.  
  41.  
  42. class Osoba<T extends Comparable<T>> implements Comparable<T>, Cloneable {
  43.  
  44.  
  45.     public Osoba(String Nazwisko, int Rok, int Miesiac, int Dzien){
  46.         this.Nazwisko = Nazwisko;
  47.         this.DataUrodzenia = LocalDate.of(Rok, Miesiac, Dzien);
  48.     }
  49.  
  50.  
  51.     @Override
  52.     public int compareTo(T Osoba){
  53.         return Osoba.compareTo(Osoba);
  54.     }
  55.  
  56.  
  57.     public int compareTo(Osoba other)
  58.     {
  59.         int cmp = 0;
  60.         if (other.Nazwisko != this.Nazwisko){
  61.             cmp++;
  62.         }
  63.         if (other.DataUrodzenia.compareTo(this.DataUrodzenia) != 0){
  64.             cmp++;
  65.         }
  66.         return cmp;
  67.     }
  68.  
  69.  
  70.  
  71.     public boolean equals(Object obj) {
  72.         if (this == obj) return true;
  73.         if (obj == null) return false;
  74.         if (getClass() != obj.getClass()) return false;
  75.         Osoba other = (Osoba) obj;
  76.         if (Nazwisko == null) { if (other.Nazwisko != null) return false; }
  77.         else if (!Nazwisko.equals(other.Nazwisko)) return false;
  78.         if (DataUrodzenia != other.DataUrodzenia) return false;
  79.         return true;
  80.     }
  81.  
  82.  
  83.     public String toString() { return this.getClass().getSimpleName() + "[" + this.Nazwisko + " , " + this.DataUrodzenia + "]"; }
  84.  
  85.     private T t;
  86.     private LocalDate DataUrodzenia;
  87.     private String Nazwisko;
  88.  
  89. }