Hallo ihr Lieben!
Angenommen eine Klasse sollte über viele Instanzvariablen sortierbar sein:
Muss ich dann tatsächlich für jede Variable eine eigene Comparator-Klasse schreiben?
Oder gibt es hier einen Trick, damit ich nur einmal eine Comparator-Klasse schreiben muss, aber dann über einen Parameter o. Ä. angeben kann, über welche Variable vergleichen bzw. sortiert werden soll?
Angenommen eine Klasse sollte über viele Instanzvariablen sortierbar sein:
Java:
class World {
int population;
int surface;
int mass;
int ...
}
Muss ich dann tatsächlich für jede Variable eine eigene Comparator-Klasse schreiben?
Java:
class WorldPopulationComparator implements Comparator<World> {
public int compare(World o1, World o2) {
return o1.population - o2.population;
}
}
class WorldSurfaceComparator implements Comparator<World> {
public int compare(World o1, World o2) {
return o1.surface - o2.surface;
}
}
class WorldMassComparator implements Comparator<World> {
public int compare(World o1, World o2) {
return o1.mass - o2.mass;
}
}
Oder gibt es hier einen Trick, damit ich nur einmal eine Comparator-Klasse schreiben muss, aber dann über einen Parameter o. Ä. angeben kann, über welche Variable vergleichen bzw. sortiert werden soll?