我真的被困在学校的任务上。我们正在学习通用类型,也许这不仅仅是我对它们的理解,而是作为我们必须实现的第一个方法之一的一部分:
我们有:
public static <T> T min(Collection<T> c, Comparator<T> comp) {
return null
}
要求:
从Collection c
中选择最小值,如下所定义
提供Comparator comp
。此方法抛出IllegalArgumentException
如果c或comp为null,如果c则抛出NoSuchElementException
是空的。此方法不会更改Collection c。
所以我到了这里:
public static <T> T min(Collection<T> c, Comparator<T> comp)
throws IllegalArgumentException, NoSuchElementException {
if (c != null && comp != null) {
if (!c.isEmpty()) {
} else {
throw new NoSuchElementException();
}
} else {
throw new IllegalArgumentException();
}
}
我们必须使用比较器排序,但不能使用Collections类。我真的需要一些指导才能开始,我不是要求你为我做任务!
答案 0 :(得分:6)
应该很容易。比较器用于比较两个不用于排序的元素。这里不需要排序。您不想更改集合,只需找到最小值。您可以先取一个并迭代集合,将选择元素与其他元素进行比较,将选择元素切换为另一个元素。这是找到最小值的方法。
答案 1 :(得分:2)
您需要添加到示例中的伪代码:
我不会把代码放在家庭作业中,你需要熟悉语法。