Hier nochmal das ganze:
[code=Java]public class Lampe implements Comparable<Lampe>{
private int lumen;
private String name;
public Lampe( String name, int lumen ){
this.name = name;
this.lumen = lumen;
}
// Die Methode wird durch Comparable vorgeschrieben.
// Wenn "this < argument" dann muss die Methode irgendetwas < 0 zurückgeben
// Wenn "this = argument" dann muss die Methode 0 (irgendetwas = 0) zurückgeben
// Wenn "this > argument" dann muss die Methode irgendetwas > 0 zurückgeben
public int compareTo( Lampe argument ) {
if( lumen < argument.lumen )
return -1;
if( lumen > argument.lumen )
return 1;
return 0;
}
@Override
public String toString() {
return name + " (" + lumen + " Lumen)";
}
}
//break
Lampe[] array = new Lampe[]{
new Lampe( "Halogenmetalldampflampe", 6600 ),
new Lampe( "Gewöhnlich 60W", 730 ),
new Lampe( "Leuchtstoffröhre", 3250 ),
new Lampe( "Natriumdampflampe", 8000 ),
new Lampe( "Halogenlampe 12V/50W", 1050 ),
new Lampe( "Kompaktleuchtstoffröhre", 2900 ),
new Lampe( "Gewöhnlich 100W", 1350 ),
new Lampe( "HQL 125W", 5000 )
};
System.out.println( java.util.Arrays.toString( array ));
// hier wird sortiert
java.util.Arrays.sort( array );
System.out.println( java.util.Arrays.toString( array ));[/code]