Sobes.tech
Junior — Middle

Vysvetlite, čo sa rozumie pod rozhraním Comparator v jazyku Java.

sobes.tech AI

Odpoveď od AI

Rozhranie Comparator v jazyku Java sa používa na určenie poradia objektov, keď prirodzené poradie (Comparable) nie je vhodné alebo chýba. Obsahuje metódu compare(T o1, T o2), ktorá porovnáva dva objekty a vracia:

  • záporné číslo, ak je o1 menšie ako o2
  • nulu, ak sú rovné
  • kladné číslo, ak je o1 väčšie ako o2

Toto umožňuje triedenie kolekcií podľa rôznych kritérií bez zmeny samotných tried objektov.

Príklad použitia:

List<String> mená = Arrays.asList("Anna", "John", "Bob");

// Triedenie podľa dĺžky reťazca
Collections.sort(mená, new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
        return Integer.compare(s1.length(), s2.length());
    }
});

// Alebo s lambda výrazom
Collections.sort(mená, (s1, s2) -> s1.length() - s2.length());