繁体   English   中英

Java Collection <Generic Type> 没有收藏品的排序

[英]Java Collection<Generic Type> Sorting without Collections

我真的被困在学校的任务上。 我们正在学习通用类型,也许这不仅是我完全理解它们,而是作为我们必须实现的第一个方法之一的一部分:

我们有:

public static <T> T min(Collection<T> c, Comparator<T> comp) {
        return null
}

和要求:

选择Collection c的最小值,由提供的Comparator comp定义。 如果c或comp为null,则此方法抛出IllegalArgumentException如果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类。 我真的需要一些指导才能开始,我不是要求你为我做任务!

应该很容易。 比较器用于比较两个不用于排序的元素。 这里不需要排序。 您不想更改集合,只需找到最小值。 您可以先取一个并迭代集合,将选择元素与其他元素进行比较,将选择元素切换为另一个元素。 这是找到最小值的方法。

您需要添加到示例中的伪代码:

  • 将第一个元素保存在变量调用“minimum”中。 因为它被声明为泛型,所以对象的类型是T.
  • 迭代集合(线索:每个集合都有一个迭代器)
  • 将每个元素与找到的“最小值”进行比较。 如果低于将其指定为最小值。
  • 返回最小变量。

我不会把代码放在家庭作业中,你需要熟悉语法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM