最近的工作内容,总是比较来比较去的。写了两个比较用的工具,发现用的最多的尽然是这样一个结构。我这里把它单独抽了出来。做了一点点的抽象:

public void listContentCompare(List<Object> As,List<Object> Bs)
    {
        boolean isAOnly = true;
        for(Object A:As)
        {
            for(int i = 0;i<Bs.size();)
            {
                Object B = Bs.get(i);
                if(A.equals(B))
                {
                    isAOnly = false;
                    //TODO:B内部的其他比较,还可以递归哦
                    Bs.remove(B);
                }
                else i++;
            }
            if(isAOnly)
                System.out.println("Bs中有但是As中没有的"+A.toString());
            isAOnly = true;
        }
        for(Object B:Bs)
            System.out.println("As中有但是Bs中没有的"+B.toString());
    }

看了我自己的代码,使用的场景应该是Class具体内容的比较。当Class中的属性关联到其他Class的时候,递归就会派上用场了