Java - 多维数组如何测试数组的所有唯一值

标签 java arrays

我正在尝试测试多维数组以查看是否包含任何重复值。如果是这样,我希望该方法返回 false。否则我希望它返回 true。

这是我当前的代码。我的逻辑哪里错了?

public static boolean isUnique(int[][] array2, int num) {

    for (int i = 0; i < array2.length - 1; i++) {
        for (int j = i + 1; j < array2.length; j++) {
            if (array2[i] == array2[j]) {
                return false;
            }
        }
    }
    return true;
}

最佳答案

您当前的实现正在检查两行是否相同(这是基于引用的检查,而不是值。)这意味着它会询问“Are array2[i] and ” array2[j]内存中的相同地址,而不是它们包含相同的东西。

如果您想查看行是否唯一,您可以使用array2[i].equals(array2[j])而不是array2[ i] == array2[j].

如果您想检查唯一元素(array[i][j] != array2[i+m][j+n] where !(m == n == 0) )您需要遍历 a 中的两个级别

for (int i = 0; i < array2.length; i++) {
    for (int j = 0; j < array2[i].length; j++) {
        // compare array2[i][j] to all other array2[m][n] here.
    }
}

关于Java - 多维数组如何测试数组的所有唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40643612/

相关文章:

javascript - 如何将 Facebook Graph API 响应存储为 Javascript 数组?

java - SQL select 语句无法正确打印

使用列表时的 Java 变量引用

java.lang.OutOfMemoryError : PermGen space 错误

java - 使用 Mockito 进行 Android 仪器测试

javascript - 扫雷算法解决方案

java - 如何在没有嵌套循环的情况下对数组求和?

ios - 如何从嵌入在 Swift 中的 UITableView 中的文本字段中检索数据?

Javascript:获取多个图像数组的图像大小(宽度和高度)

java - 执行 mvn eclipse :eclipse 后我的源文件夹被删除