Sobes.tech
Junior — Middle

Magyarázza el, mit értünk a Comparator interfész alatt a Java nyelvben.

sobes.tech MI

Válasz az MI-től

A Java Comparator interfészét arra használják, hogy meghatározzák az objektumok sorrendjét, amikor a természetes sorrend (Comparable) nem megfelelő vagy hiányzik. Tartalmazza a compare(T o1, T o2) metódust, amely két objektumot összehasonlít és visszaadja:

  • negatív számot, ha o1 kisebb, mint o2
  • nullát, ha egyenlőek
  • pozitív számot, ha o1 nagyobb, mint o2

Ez lehetővé teszi, hogy kollekciókat különböző kritériumok szerint rendezzünk anélkül, hogy módosítanánk az objektum osztályait.

Használati példa:

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

// Rendezés a sztring hosszának szerint
Collections.sort(nevek, new Comparator<String>() {
    @Override
    public int compare(String s1, String s2) {
        return Integer.compare(s1.length(), s2.length());
    }
});

// Vagy lambda kifejezéssel
Collections.sort(nevek, (s1, s2) -> s1.length() - s2.length());