如何组合多个比较器?

我在这里的第一个帖子问题,请保持温和:)

我正在尝试在 Java 中创建一个基于各种标准进行排序的比较器。Main 类是非常基础的,它有几个排序所基于的变量。

例如,一个“Book”类,它有:

  • 页码,

  • 标题,

  • 每页平均字数。

以下是我收到的“指示”:

编写一个 ComplexComperator,它可以根据多个变量进行排序。制作2个构造函数:

一个有2个参数

 public ComplexComparator(Comparator<Book> x, Comparator<Book> y)

如果两个项目基于第一个参数相等,则根据第二个参数排序,

另一个有 4 个参数

 public ComplexComparator(Comparator<Book> x, boolean h, Comparator<Book> y, boolean i)

如果逻辑变量为真,它会根据该 Comparator 以自然顺序对其进行排序 - 因此它的工作方式与 2 参数构造函数相同。如果其中一个逻辑变量取假值,则会颠倒自然顺序。

就是这样了。我写了简单的比较器,但我不知道如何处理这个。我不知道 compare 方法应该是什么样子;或者即使我必须添加某种类变量......谢谢你的帮助!


互换的青春
浏览 105回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java