我试图通过他们的分数属性的值对我的自定义类染色体进行排序,这是一个双倍。这些染色体存储在一个 ArrayList 中。我知道我必须使用比较器,但在过去的一个小时里,我在网上阅读了很多不同的意见,以至于我完全糊涂了。
附件是我的代码,如果有人能指出我正确的方向,我将不胜感激。
public class Chromosome
{
public Gene[] genes;
public double score;
public Chromosome(int l)
{
genes = new Gene[l];
}
public int getLength()
{
return genes.length;
}
public void printChromo()
{
for(int i=0;i<this.genes.length;i++)
{
System.out.println(""+this.genes[i].teacher+","+
this.genes[i].lecture+","+
this.genes[i].room+","+
this.genes[i].time+"");
}
}
public void setScore(double score)
{
this.score=score;
}
public double getScore()
{
return this.score;
}
}
不知道这有什么不同,但分数只能是 0.0 到 1.0 之间的两倍