Hi,
ich will Objekte die in einer Arrayliste stehen anhand ihrer Eigenschaften sortieren mittels comparator.
Meine Frage ist nun, da ich ja nicht für jede Objekteigenschaft eine eigene compare Klasse schreiben will wollte ich es mittels eines Selectors machen, aber das geht ja nicht da compare nur obj1 /obj2 animmt.
Geht das irgendwie und wenn ja wie?
Gruß HiFish
So hatte ich mir das gedacht:
ich will Objekte die in einer Arrayliste stehen anhand ihrer Eigenschaften sortieren mittels comparator.
Meine Frage ist nun, da ich ja nicht für jede Objekteigenschaft eine eigene compare Klasse schreiben will wollte ich es mittels eines Selectors machen, aber das geht ja nicht da compare nur obj1 /obj2 animmt.
Geht das irgendwie und wenn ja wie?
Gruß HiFish
So hatte ich mir das gedacht:
Code:
class cmp_usr implements Comparator<user>
{
public int compare(user usr1,user usr2,int sel)
{
switch(sel)
{
case 1: return usr1.getName().compareTo(usr2.getName());//Name
break;
case 2://ctime
break;
case 3://wtime
break;
case 4://cw
break;
case 5: if(usr1.getJobs()-usr2.getJobs()<0)//Job Anzahl
{
return -1;
}else if(usr1.getJobs()-usr2.getJobs()>0)
{
return 1;
}
return 0;
break;
default: break;
}
return 0;
}
}