java list是否相等_比较List集合对象是否相等

—-

最起码得保证里面的每一项都相同才算相等。

—-

bool sequenceEqual = oldList.SequenceEqual(newList);

—-

假设二个list值都是一样的,怎么应怎么做?高人给个示例啊

—-

取两者差集,看差集是否为0个

List oldList = new List();

List newList = new List();

oldList.Add("diaoer1");

oldList.Add("diaoer2");

oldList.Add("diaoer3");

oldList.Add("diaoer4");

newList.Add("diaoer1");

newList.Add("diaoer2");

newList.Add("diaoer3");

newList.Add("diaoer4");

if( oldList.Except(newList).Count()==0)

//相等

else

//不相等

—-

这个方法不可以取吧,如果里边有不同的,则要返回false的,

oldList.Add(“diaoer1”);

oldList.Add(“diaoer2”);

oldList.Add(“diaoer5”);

oldList.Add(“diaoer4”);

newList.Add(“diaoer1”);

newList.Add(“diaoer2”);

newList.Add(“diaoer3”);

newList.Add(“diaoer4”);

比如上边,则要返回false

—-

楼主 你想比较 的是 两个 list里面的值相等 还是 count相等, 还是列相等啊

—-

oldList.Add(“diaoer2“);

oldList.Add(“diaoer5“);

oldList.Add(“diaoer4“);

newList.Add(“diaoer1“);

newList.Add(“diaoer2“);

newList.Add(“diaoer3“);

newList.Add(“diaoer4“);值是否相等,不好意思,没表达清楚

—-

引用 5 楼 dys_198102 的回复:

这个方法不可以取吧,如果里边有不同的,则要返回false的,

oldList.Add(“diaoer1”);

oldList.Add(“diaoer2”);

oldList.Add(“diaoer5”);

oldList.Add(“diaoer4”);

newL……

你是想顺序也要一样是吗?

—-

嗯嗯。。顺序也要一样才行

—- 30分

引用 9 楼 dys_198102 的回复:

嗯嗯。。顺序也要一样才行

private static bool ListEqual(List x, List y)

{

if (x == null && y == null)

return true;

if (x == null || y == null)

return false;

if (x.Count() != y.Count())

return false;

var count= x.Where((a, i) => a != y[i]).Count();

return count == 0;

}

调用:

if( ListEqual(oldList, newList))

//相等

else

//不等

—-

谢谢,老兄,我学习学习,研究你的代码,感谢

—-

有这时间问,一个循环早些好了

—-

if( oldList.Except(newList).Count()==0)

//相等

else

//不相等

—————————————-

—-

List LAppPerson = new List();

LAppPerson.Add(“in”);

LAppPerson.Add(“bs”);

LAppPerson.Add(“es”);

LAppPerson.Add(“in”);

LAppPerson=LAppPerson.Distinct().ToList();//删除重复项

为什么还是in bs es in,没有删除一个in

—-

引用 14 楼 dys_198102 的回复:

List LAppPerson = new List();

LAppPerson.Add(“in”);

LAppPerson.Add(“bs”);

LAppPerson.Add(“es”);

LAppPerson.Add(“in”);

LAppPerson=LAppPerson.Distinct().ToList()……

目测应该可以去重的

—-

for

循环

—-

private bool ListEqual(List a, List b)

{

List x = new List(a);

List y = new List(b);

if (x == null && y == null)

return true;

if (x == null || y == null)

return false;

if (x.Count != y.Count)

return false;

for (int i = 0; i 

{

x.Remove(y[i]);

}

if (x.Count == 0)

{

return true;

}

else

{

return false;

}

}

你可能感兴趣的:(java,list是否相等)