Advertisement
blackpab

Zestaw 9 - Zadanie 2

May 22nd, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.27 KB | None | 0 0
  1. package javaapplication3;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Comparator;
  5.  
  6. public class JavaApplication3 {
  7.  
  8.     public static void main(String[] args) {
  9.         Pracownik[] P = new Pracownik[4];
  10.         P[0] = new Pracownik("Nazwisko_1", 20, 3);
  11.         P[1] = new Pracownik("Nazwisko_2", 17, 2);
  12.         P[2] = new Pracownik("Nazwisko_3", 44, 5);
  13.         P[3] = new Pracownik("Nazwisko_4", 29, 4);
  14.  
  15.         System.out.println("-------Bez sortowania--------");
  16.         for (Pracownik x : P) {
  17.             System.out.println(x);
  18.         }
  19.  
  20.         Arrays.sort(P); //magia sortowania
  21.  
  22.         System.out.println("--------WG WIEKU-------");
  23.         for (Pracownik x : P) {
  24.             System.out.println(x);
  25.         }
  26.  
  27.         Arrays.sort(P, new PorownywaczWgStazu());
  28.  
  29.         System.out.println("-------WG STAZU--------");
  30.         for (Pracownik x : P) {
  31.             System.out.println(x);
  32.         }
  33.  
  34.         Arrays.sort(P,
  35.                 new Comparator<Pracownik>() {
  36.  
  37.                     @Override
  38.                     public int compare(Pracownik t1, Pracownik t2) {
  39.                         return -t1.nazwisko.compareTo(t2.nazwisko); //malejaco
  40.                         //return t1.nazwisko.compareTo(t2.nazwisko); //rosnaco
  41.                     }
  42.                 });
  43.  
  44.         System.out.println("-------WG Nazwiska--------");
  45.         for (Pracownik x : P) {
  46.             System.out.println(x);
  47.         }
  48.  
  49.     }
  50. }
  51.  
  52. //Algorytm sortowania
  53. class Pracownik implements Comparable<Pracownik> {
  54.  
  55.     String nazwisko;
  56.     int wiek;
  57.     int stazPrazy;
  58.  
  59.     @Override
  60.     public int compareTo(Pracownik t) {
  61.         //return this.wiek - t.wiek; //sortowanie rosnace
  62.         return -(this.wiek - t.wiek); //sortowanie malejace
  63.     }
  64.  
  65.     public Pracownik(String nazwisko, int wiek, int stazPrazy) {
  66.         this.nazwisko = nazwisko;
  67.         this.wiek = wiek;
  68.         this.stazPrazy = stazPrazy;
  69.     }
  70.  
  71.     public String toString() {
  72.         return this.nazwisko + " " + this.wiek + " " + this.stazPrazy;
  73.     }
  74. }
  75.  
  76. class PorownywaczWgStazu implements Comparator<Pracownik> {
  77.  
  78.     @Override
  79.     public int compare(Pracownik t1, Pracownik t2) {
  80.         return t1.stazPrazy - t2.stazPrazy;
  81.     }
  82. }
  83.  
  84. //Metoda compare nalezy do interfejsu Comparator
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement