Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javaapplication3;
- import java.util.Arrays;
- import java.util.Comparator;
- public class JavaApplication3 {
- public static void main(String[] args) {
- Pracownik[] P = new Pracownik[4];
- P[0] = new Pracownik("Nazwisko_1", 20, 3);
- P[1] = new Pracownik("Nazwisko_2", 17, 2);
- P[2] = new Pracownik("Nazwisko_3", 44, 5);
- P[3] = new Pracownik("Nazwisko_4", 29, 4);
- System.out.println("-------Bez sortowania--------");
- for (Pracownik x : P) {
- System.out.println(x);
- }
- Arrays.sort(P); //magia sortowania
- System.out.println("--------WG WIEKU-------");
- for (Pracownik x : P) {
- System.out.println(x);
- }
- Arrays.sort(P, new PorownywaczWgStazu());
- System.out.println("-------WG STAZU--------");
- for (Pracownik x : P) {
- System.out.println(x);
- }
- Arrays.sort(P,
- new Comparator<Pracownik>() {
- @Override
- public int compare(Pracownik t1, Pracownik t2) {
- return -t1.nazwisko.compareTo(t2.nazwisko); //malejaco
- //return t1.nazwisko.compareTo(t2.nazwisko); //rosnaco
- }
- });
- System.out.println("-------WG Nazwiska--------");
- for (Pracownik x : P) {
- System.out.println(x);
- }
- }
- }
- //Algorytm sortowania
- class Pracownik implements Comparable<Pracownik> {
- String nazwisko;
- int wiek;
- int stazPrazy;
- @Override
- public int compareTo(Pracownik t) {
- //return this.wiek - t.wiek; //sortowanie rosnace
- return -(this.wiek - t.wiek); //sortowanie malejace
- }
- public Pracownik(String nazwisko, int wiek, int stazPrazy) {
- this.nazwisko = nazwisko;
- this.wiek = wiek;
- this.stazPrazy = stazPrazy;
- }
- public String toString() {
- return this.nazwisko + " " + this.wiek + " " + this.stazPrazy;
- }
- }
- class PorownywaczWgStazu implements Comparator<Pracownik> {
- @Override
- public int compare(Pracownik t1, Pracownik t2) {
- return t1.stazPrazy - t2.stazPrazy;
- }
- }
- //Metoda compare nalezy do interfejsu Comparator
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement