在我学习软件设计考试的时候,遇到了一个问题,找遍了所有地方仍然找不到答案,所以现在把问题描述如下:
如果要显示与另一个类的方法一起使用的比较器类来对某些东西进行排序,应该采用哪种正确的方式?
非常感谢您的帮助,如果我没有表述清楚的话,请见谅,因为我是新手。
我的代码中使用比较器的部分类似于这样
public class Jukebox {
List<Song> jukebox= new ArrayList<>();
public Song getSong(int index){
return jukebox.get(index) ;
}
public List<Song> playTitulo(){
Collections.sort(jukebox, new CompareTitle() );
return jukebox;
}
}
Song类有几个属性,如标题或持续时间,我为每个属性都有一个不同的比较器类,看起来像这样:
public class CompareTitle implements Comparator<Song>{
@Override
public int compare (Cancion c1, Cancion c2){
return ( c1.getTitulo().compareToIgnoreCase(c2.getTitle()));
}
}
我认为这段代码应该足够说明我的意思了,因为我不想让你看到一个刚开始学习的人的练习而感到无聊,但如果你觉得还有什么遗漏的地方,请告诉我,我会立即加上。