List vierecke = ... // Java 1-7: Anonyme, innere Klasse Comparator compr7 = new Comparator() { @Override public int compare(Rectangle o1, Rectangle o2) { return o1.width - o2.width; } }; vierecke.sort(compr7); // Java 8: Kurzdefinition als Lambda vierecke.sort( (Rectangle r1, Rectangle r2) -> r1.width - r2.width); vierecke.sort( (r1, r2) -> r1.width - r2.width); // Java 8: Nutzung von statischen Methoden und -referenzen vierecke.sort(Comparator.comparingDouble(Rectangle::getWidth)); // Java 8: Nutzung von Default-Implementation aus Interface vierecke.sort(Comparator.comparingDouble(Rectangle::getWidth).reversed().thenComparing( Comparator.comparingDouble(Rectangle::getHeight)));