当前位置: 首页 > 知识库问答 >
问题:

可比数组比较java

汪和悌
2023-03-14

我的任务是用java编写mergesort,任务还规定我不能使用整数,我必须使用可比较的整数。这是我第一次使用java。我的问题是在合并函数内比较两个comp int数组中的元素。我尝试了if(list[I])compareTo(list2[j]),但compareTo只能取整数。任何帮助都将不胜感激

public static Comparable<Integer>[] merge(Comparable<Integer> list[], Comparable<Integer> list2[] ) {
        Comparable<Integer> C[];
        int i = 0; int j = 0; int k = 0;
        while (i < list.length && j < list2.length) {

            if (list[i] < list2[j]]) {
                C[k] = list[i];
                i++; k++;
            } else {
                C[k] = list2[j];
                j++; k++;
            }
        }
        while (i < list.length) {
            C[k++] = list[i++];
        }
        while (j < list2.length) {
            C[k++] = list2[j++];
        }
        return C;
    }

共有2个答案

陶元凯
2023-03-14

这是你应该做的。

public static Integer [] merge(Integer[] list, Integer[]list2 ) {
    Integer[] C = new Integer[list.length + list2.length];
    int i = 0; int j = 0; int k = 0;
    while (i < list.length && j < list2.length) {

        if (list[i].compareTo(list2[j]) < 0) {
            C[k] = list[i];
            i++; k++;
        } else {
            C[k] = list2[j];
            j++; k++;
        }
    }
    while (i < list.length) {
        C[k++] = list[i++];
    }
    while (j < list2.length) {
        C[k++] = list2[j++];
    }
    return C;
}

您应该使用可比较的

<代码>列表[i]。比较(列表2[j]

其他一切都没有意义。特别是通过两个可比较的数组

闾丘淇
2023-03-14

你想要的就是整数。它是可比的

代码中您编写的每个地方都具有可比性

 类似资料:
  • 编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。 我的任务是用java编写mergesort,任务还规定我不能使用整数,我必须使用可比较的整数。这是我第一次使用java。我的问题是在合并函数内比较两个comp int数组中的元素。我尝试了if(list[I])compareTo(list2[j]),但compareTo只能取整数。任何帮助都将不胜感

  • 问题内容: 在Java中工作,假设我有两个对象,这要归功于,我知道它们都是数组。进一步说,我想将这两个数组相互比较- 可能使用。有没有一种优雅的方法可以做到这一点,而无需借助详尽的if / else树来弄清楚需要使用哪种口味?我正在寻找比这更令人讨厌的东西: 问题答案: 您可以使用反射。 反射仅用于在运行时找到正确的方法,而不会引起您的回避。实际方法应该运行得很快。 显然,生产版本需要更强大的异常

  • 本文向大家介绍JavaScript 数组比较,包括了JavaScript 数组比较的使用技巧和注意事项,需要的朋友参考一下 示例 为了进行简单的数组比较,您可以使用JSON stringify并比较输出字符串: 注意:这仅在两个对象都可以JSON序列化并且不包含循环引用的情况下起作用。可能会抛出TypeError: Converting circular structure to JSON 您可以

  • 数组相等的条件不仅要求数组元素的个数必须相等,而且要求对应位置的元素也相等。Arrays 类提供了 equals() 方法比较整个数组。语法如下: 其中,arrayA 是用于比较的第一个数组,arrayB 是用于比较的第二个数组。 例 1 下面代码演示 Arrays 类的 equals() 方法的使用。 上述代码中定义 3 个数组,分别为 score1、score2 和 score3。第一个数组直

  • 问题内容: 由于我不是Android开发中的佼佼者,因此我尝试了一些对自己和朋友的手机都有效的方法,但是我从市场上收到一些报告,认为它可能不适用于所有设备,并且做错了比较。无论如何。该项目很简单,它从sql获取命令,然后在游戏中玩家尝试完成该命令。所以我有2个数组。我一开始就这样称呼它: 在游戏过程中,如果玩家单击按钮,它将更改combo的值,例如combo [7] =“ 1”; 当他单击最后一个

  • 本文向大家介绍Jasmine.js比较数组,包括了Jasmine.js比较数组的使用技巧和注意事项,需要的朋友参考一下 数组可以通过2种方式进行比较- 它们引用内存中的同一数组对象。 它们可能引用不同的对象,但是它们的内容都是相同的。 对于情况1,茉莉提供了toBe方法。以此作为参考。例如, 示例 输出结果 这将给出输出- 对于情况2,我们可以使用toEqual方法并深度比较数组。例如, 示例 输