请教 ArrayList<int [ ]> 使用中出现的问题

现有一个这样的方法:
private static String[] a = { "a", "b", "c", };
// 申明一个二维数组(測試時使用)
private static String[][] b = { { "a", "b", "c" }, { "b", "b", "b" },
{ "c", "b", "c" } };
public ArrayList leftUnioele(String[] a, String[][] b) {
ArrayList mylist = new ArrayList ();
int[] mynum = new int[2];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a.length; j++) {
if (!(b[i][j] == a[j])) {// 判断a【j】是否与其对应的一列上的数值相等
mynum[0] = i;
mynum[1] = j;
mylist.add(mynum);
for (int[] out : mylist) {
System.out.println(out[0] + " " + out[1]);
}
}
}
}
return mylist;
}
测试后发现输出了重复的元素!
请问要删除这些重复的元素,用remove()方法怎么实现?或者用其他什么更好的方法能删除mylist对象中重复的元素!

经测试, 发现是你程序本身问题:
1.你new出的mynum对象引用存在于for循环外,既,整个循环过程中你仅仅只有一个对象引用, 当然输出的是重复值;
2.你的输出位置也有问题,应该放在循环外进行

更改后代码如下:
[code="java"]
public class Main {
private static String[] a = { "a", "b", "c", };
// 申明一个二维数组(測試時使用)
private static String[][] b = { { "a", "b", "c" }, { "b", "b", "b" },
{ "c", "b", "c" } };

public ArrayList<int[]> leftUnioele(String[] a, String[][] b) {
    ArrayList<int[]> mylist = new ArrayList<int[]>();

    for (int i = 0; i < a.length; i++) {
        for (int j = 0; j < a.length; j++) {
            if (!(b[i][j] == a[j])) {// 判断a【j】是否与其对应的一列上的数值相等
                int[] mynum = new int[2];
                mynum[0] = i;
                //System.out.print(mynum[0]);
                mynum[1] = j;
                //System.out.println(mynum[1]);
                mylist.add(mynum);
            }
        }
    }
    for (int k = 0; k < mylist.size(); k++) {
        System.out.println(mylist.get(k)[0] + " " + mylist.get(k)[1]);
    }
    return mylist;
}

public static void main(String[] args) {

    Main main = new Main();
    List<int[]> list = main.leftUnioele(a, b);
}

}
[/code]

[code="java"]private static String[] a = { "a", "b", "c", }; [/code]
看,zhoujj303030,你的这段代码中,"c"后面是不是多了一个,号呢?

虽然是多了, 但是却不影响程序执行, 你可以自己COPY回去看

wxjiaaa回答的很好,因为int[] mynum = new int[2]; 是对对象的引用,引用的是对象的地址,而你在第二次,第三次循环的时候,把对象的内容给改变了,所以,前面的对象都和最后的对象一样了,所以才重复。