最近的工作内容,总是比较来比较去的。写了两个比较用的工具,发现用的最多的尽然是这样一个结构。我这里把它单独抽了出来。做了一点点的抽象:
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的时候,递归就会派上用场了