如何比较2数组而不使用java数组或集合类中的任何方法?

时间:2013-03-10 17:45:51

标签: java arrays

这是我的家庭作业的一部分,所以我需要解释而不仅仅是答案。

我正在创造传奇的钱包课程。我必须能够将一个钱包(数组)与另一个钱包(数组)进行比较。踢球者是我不能使用java数组或集合类中的任何方法。我甚至从哪里开始创造这样的东西?

我正在做的一个例子是:

String[] array1 = {"Quarter", "Dime", "Nickel", "Penny"};
String[] array1 = { "Dime", "Quarter", "Penny", "Nickel"};
(Does Array1==Array2?)
return true/false

我再次需要理解这一点,所以请不要只为我弄清楚,但请给我一些想法。

2 个答案:

答案 0 :(得分:1)

您可以尝试嵌套for循环。在伪代码中:

for each element 'i' in Array1:
    for each element 'j' in Array2:
        does 'i' equal 'j'?
            // do something
        else:
            // do something else

这会让你入门吗?您想要更多帮助吗?

答案 1 :(得分:1)

比较没有Arrays.equal()的两个数组之间的元素的方法是迭代每个元素并一次比较一个。

String[] array1 = new String[] {"Quarter", "Dime", "Nickel", "Penny"};
String[] array2 = new String[] {"Dime", "Penny", "Quarter", "Nickel"};

public boolean equalArrays(String[] array1, String[] array2) {
    if(array1.length != array2.length) {
        return false;
    }
    int matched = 0;
    for(int i = 0; i < array1.length; i++) {
        for(int j = 0; j < array2.length; j++) {
            if(array2[j].equals(array1[i])) {
                matched++;
                break;
            }
        }
    }
    return matched == array1.length;
}