Sortowanie listy – interfejs Comparable

package pl.am.object2.lesson52;

import java.util.ArrayList;
import java.util.Collections;

public class ComparableTest {
    public static void main(String[] args) {
        ArrayList<Kot> koty = new ArrayList<>();
        koty.add(new Kot("mruczek", 2.5));
        koty.add(new Kot("filemon", 3));
        koty.add(new Kot("bonifacy", 2));
        koty.add(new Kot("w butach", 2.8));
        koty.add(new Kot("miał", 2.1));
        koty.add(new Kot("kotek", 2.7));

        Collections.sort(koty);

        for (Kot kot : koty) {
            System.out.println(kot);
        }
    }
}
package pl.am.object2.lesson52;

import java.util.ArrayList;
import java.util.Collections;

public class CompatableInts {
    public static void main(String[] args) {
        ArrayList<Integer> liczby = new ArrayList<>();
        liczby.add(7);
        liczby.add(1);
        liczby.add(35);
        liczby.add(-45);
        liczby.add(8);
        liczby.add(0);

        Collections.sort(liczby);

        System.out.println(liczby);
    }
}
package pl.am.object2.lesson52;


public class Kot extends ZwierzeDomowe implements Comparable<Kot>{
    public Kot(String nazwa, double masa) {
        super(nazwa, masa);
    }

    @Override
    public void dajGlos() {
        System.out.println("miauuuuu");
    }


    @Override
    public String toString() {
        return "Kot{" +
                "nazwa='" + nazwa + '\'' +
                ", masa=" + masa +
                '}';
    }

    @Override
    public int compareTo(Kot kot) {
        return nazwa.compareTo(kot.nazwa);
    }

//    @Override
//    public int compareTo(Object o) {
//        // this < o  --> -
//        // this - o  --> 0
//        // this > o  --> +
//
//        Kot kot = (Kot)o;
//        return Double.compare(this.masa, kot.masa);
//    }
}

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *