Ich weiß, wie man eine Liste nach einem bestimmten Attribute sortieren kann. Das Sortieren einer Lampe sieht zb. so aus:
Nun werden diese Lampen aber immer nach Lumen sortiert. Wie bekomme ich es hin, dass ich beeinflussen kann, ob die Lampe nach Lumen oder(!) nach Größe sortiert wird, so wie ich das gerade brauche? Die Methode compareTo() kann ich ja leider nicht ergänzen.
Muss ich dafür zwei verschiedene java.util.Comparator erstellen? Oder gibts dafür eine bessere Lösung?
Java:
public class Lampe implements Comparable<Lampe>
{
private int lumen; // 0 bis 100
private int groesse; // 1 bis 10
private String name;
public Lampe( int lumen, int groesse )
{
this.lumen = lumen;
this.groesse = groesse;
}
public int compareTo( Lampe c )
{
if( lumen < c.lumen )
return -1;
if( lumen > c.lumen )
return 1;
return 0;
}
}
Muss ich dafür zwei verschiedene java.util.Comparator erstellen? Oder gibts dafür eine bessere Lösung?