如何在UML图中包含比较器类

3

在我学习软件设计考试的时候,遇到了一个问题,找遍了所有地方仍然找不到答案,所以现在把问题描述如下:

如果要显示与另一个类的方法一起使用的比较器类来对某些东西进行排序,应该采用哪种正确的方式?

非常感谢您的帮助,如果我没有表述清楚的话,请见谅,因为我是新手。

我的代码中使用比较器的部分类似于这样

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()));
    }    
}

我认为这段代码应该足够说明我的意思了,因为我不想让你看到一个刚开始学习的人的练习而感到无聊,但如果你觉得还有什么遗漏的地方,请告诉我,我会立即加上。


在许多情况下,比较器是匿名类,请问您能否展示一下您的代码示例?如果您的比较器不是匿名的,那么它只是一个类,并且即使它是内部类也没有问题。 - Oleg Mikheev
不确定是否只是通过编辑就标记为已更新,所以我会留下这个评论以防万一。 - inProcess
1个回答

0
解决了,看起来我要找的是一个<<use>>关系。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接