永发信息网

java怎么比较两个list是否相同

答案:3  悬赏:30  手机版
解决时间 2021-12-23 14:26
java怎么比较两个list是否相同
最佳答案
1. 判断两个list集合的元素个数是否相等。如果不相等则两个list集合也不相等,判断结束,如果相等则进入第二步判断

2. 判断list1的元素是否全部在list2中。遍历list1,取出list1中的元素,依次去list2中比较是否list2也存在这个元素。如果有任何一个list1中的元素在list2中不存在,则两个list集合不相等,如果全部存在则两个list集合相等。

3. 这里需要说明一点,因为第一步中已经判断list1和list2的元素个数是相等的,所以第二步中如果list1的元素全部在list2中,则可以证明list1与list2相等。不需要再遍历list2中的元素,去list1中判断是否存在。

4. 以下是上诉过程的Java代码例子:public boolean equalList(List list1, List list2) {if (list1.size() != list2.size())
return false;for (Object object : list1) {if (!list2.contains(object))return false;}return true;}

5. 以上过程适用于所有编程语言。另外不同编程语言还提供了一些其他方法,所以对于不同编程语言还可以有其他写法。

6. 比如Java中为list集合提供了containsAll方法。所以对于Java语言还可以这么写:
public boolean equalList(List list1, List list2) {if (list1.size() != list2.size())return false;if(list2.containsAll(list1))return true;return false;}

7. 还可以简写成这样:public boolean equalList(List list1, List list2) {return (list1.size() == list2.size()) && list1.containsAll(list2);}


8. Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
9. Java由四方面组成:
10. Java编程语言,即语法。
11. Java文件格式,即各种文件夹、文件的后缀。
12. Java虚拟机(JVM),即处理*.class文件的解释器。
13. Java应用程序接口(Java API)。
全部回答
你这样的问题怎么做?尽量不改变list类型什么意思嘛?我可以理解为重新建个list,然后将list1和list2比较得到的值放进刚建的list里?或者是比较后直接输出?不管怎么做了,我可以这么去做不?取list1.get(i)和list2.get(j)来比较,如果小的先入list里,而大的留着继续比较,相同的就选择list1.get(i)或者list.get(j)的一个放进list里。不过先得排下原来给的list的序吧?下面按着我这个思想编个程序你吧! public class listsort { public static void main(string[] args) { list list1 = new arraylist(); list1.add(34); list1.add(69); list1.add(25); list1.add(12); list1.add(58); list1.add(78); list list2 = new arraylist(); list2.add(1); list2.add(54); list2.add(25); list2.add(69); list2.add(78); list list = new listsort().sort(sortlist(list1), sortlist(list2)); int length = list.size(); for(int i=0;i sortlist(list list) { list resultlist = new arraylist(); int length = list.size(); for(int i=0;ilist.get(j)){ list.add(i, list.get(j)); list.remove(j+1); } } } for(int i=0;i list1,list list2){ list list = new arraylist(); int i = 0; int j = 0; int length_i= list1.size(); int length_j= list2.size(); while(ilist2.get(j)){ list.add(list2.get(j)); j++; } } return list; } }这里提醒你,你也可以把list1和list2加入一个list里后再比较也行。
首先这里需要确定一下集合相等的定义,我们应该是认为两个集合的元素完全一致则相等。那么判断可以这样做: 第一步:判断两个list集合的元素个数是否相等。如果不相等则两个list集合也不相等,判断结束,如果相等则进入第二步判断 第二步:判断list1的元素是否全部在list2中。遍历list1,取出list1中的元素,依次去list2中比较是否list2也存在这个元素。如果有任何一个list1中的元素在list2中不存在,则两个list集合不相等,如果全部存在则两个list集合相等。   这里需要说明一点,因为第一步中已经判断list1和list2的元素个数是相等的,所以第二步中如果list1的元素全部在list2中,则可以证明list1与list2相等。不需要再遍历list2中的元素,去list1中判断是否存在。 以下是上诉过程的Java代码例子: public boolean equalList(List list1, List list2) { if (list1.size() != list2.size()) return false; for (Object object : list1) { if (!list2.contains(object)) return false; } return true; } 以上过程适用于所有编程语言。另外不同编程语言还提供了一些其他方法,所以对于不同编程语言还可以有其他写法。 比如Java中为list集合提供了containsAll方法。所以对于Java语言还可以这么写: public boolean equalList(List list1, List list2) { if (list1.size() != list2.size()) return false; if (list2.containsAll(list1)) return true; return false; } 还可以简写成这样 public boolean equalList(List list1, List list2) { return (list1.size() == list2.size()) && list1.containsAll(list2); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
郑州西站附近有没有平安银行和浦发银行
买房贷款征信在哪里办
已知:如图,在平行四边形ABCD中,AE⊥AC交AC
怎么查询建行信用卡账单消费明细
单选题下列各组连线中正确的是A.物理量与单位
宝宝小名测试打分
汇丰的第三方支付平台程序的阴谋?
西安在长安区的三本学校有哪些?
如何区别漏水和返潮?
关于单项式-32xy2,下列说法正确的是A.次数为
请问如何投诉招行掌上生活?
怎么能唱歌不走调嘞
银子喷上花露水变黑了怎么办
oppoA37好不好用??
苹果手机切换页面怎么这么麻烦,比如现在在百
推荐资讯
英雄联盟解说miss的游戏名称叫什么。还有若风
如图是08春晚节目《逗趣》中的一个画面,“狗
单选题It________Jacktwentyminutes________
什么是业权人
奎屯到北屯有几个收费站过路费多少钱
我中石化员工,2001年工龄买断,社保医保一直
我为什么不能只爱一个人呢?
什么事情是天不知道地知道,你不知道我知道?
单选题当年法国人高唱着《马赛曲》奔赴卫国前
sp3补丁装不上怎么办?卡到“正在执行清理”
微信好不好卖东西,怎么会有客源。淘宝好,还
单选题下列历史事件,发生在公元前1世纪至公
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?