Comparator – eigene Sortierung, wenn immer ein bestimmter Wert am Anfang stehen soll

Man möchte eine Liste (in dem Beispiel mit Path-Objekten) sortieren. Allerdings soll ein bestimmter Eintrag ganz vorne in der Liste stehen, unabhängig von der Standardsortierung.
Dazu kann man den Comparator implementieren, der die entsprechende Prüfung vornimmt und sonst die Standard compareTo Methode aufruft.

protected Comparator<Path> pathComparator = new Comparator<Path>() {
  @Override
  public int compare(final Path path1, final Path path2) {
    if (path1.toString().endsWith("base.properties")) {
      return -1;
    }
    if (path2.toString().endsWith("base.properties")) {
      return 1;
    }

    return path1.toString().compareTo(path2.toString());
  }
};

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.