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;

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值