Collections Principiante

Crea reglas de ordenación legibles y componibles con los métodos factoría de Comparator.

✕ Anonymous comparator
people.sort(new Comparator<Person>() {
    @Override
    public int compare(Person a, Person b) {
        int byName = a.name().compareTo(b.name());
        return byName != 0 ? byName : Integer.compare(a.age(), b.age());
    }
});
✓ Java 8+
people.sort(Comparator.comparing(Person::name)
        .thenComparingInt(Person::age));
¿Ves un problema con este código? Cuéntanos.
🧩

Componible

Las reglas de ordenación se encadenan de forma natural.

👁

Más fácil de revisar

Las claves de ordenación y su prioridad son explícitas.

🐛

Comparaciones más seguras

Los helpers especializados evitan comparadores aritméticos propensos a errores.

Enfoque Antiguo
Comparator anónimo
Enfoque Moderno
Factorías de Comparator
Desde JDK
8
Dificultad
Principiante
Factorías de Comparator y ordenación fluida
Disponible

Disponible desde JDK 8 (marzo de 2014)

Las factorías de Comparator expresan la ordenación de forma declarativa y componen claves primarias y secundarias sin bifurcaciones escritas a mano.