0

別の 3d arraylist から 2d arraylist を削除しようとしています。つまり、すべての ar1[][] を ar2[][][] から削除します。私のコードがそれらすべてを削除しない理由がわかりません。

    public void removeSame(ArrayList<ArrayList<String>> ar1,ArrayList<ArrayList<ArrayList<String>>> ar3)
    {
        for(int k=0;k<ar3.size();k++)
            for(int j=0;j<ar3.size();j++)
                if(isSame(ar1,ar3.get(k)))
                {
                    ar3.remove(k);
                }
    }
    public boolean isSame(ArrayList<ArrayList<String>> ar1,ArrayList<ArrayList<String>> ar2)
    {
        for(int k=0;k<ar2.size();k++)
            for(int j=0;j<ar2.size();j++)
                if(!ar1.get(k).get(j).equals(ar2.get(k).get(j)))
                    return false;
        return true;
    }
4

3 に答える 3

0

必要なのはこれだけ

while(ar3.remove(ar1)){};
于 2012-12-11T04:28:49.023 に答える