java 两个arraylist放着相同的东西,但顺序不同,怎么判断两个是否相等 10

 我来答
fireeternal
2018-08-28
知道答主
回答量:1
采纳率:0%
帮助的人:812
展开全部

相等条件:相互包含,且长度相等,和相等

boolean result = list1.containsAll(list2) && list2.containsAll(list1)
                 && list1.size() == list2.size()
                 && list1.stream().mapToInt(x -> x).sum()
                    ==list2.stream().mapToInt(x -> x).sum();
myqq5101437
2014-11-14 · TA获得超过277个赞
知道小有建树答主
回答量:1575
采纳率:40%
帮助的人:213万
展开全部
按顺序遍历 全都相等 就相等 遍历中有一个不相等 直接返回不相等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ant_szc
2014-11-14 · TA获得超过342个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:232万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

/**
* 队列比较
* @param <T>
* @param a
* @param b
* @return
*/
public static <T extends Comparable<T>> boolean compare(List<T> a, List<T> b) {
if(a.size() != b.size())
return false;
Collections.sort(a);
Collections.sort(b);
for(int i=0;i<a.size();i++){
if(!a.get(i).equals(b.get(i)))
return false;
}
return true;
}

2. [代码]测试方法
?

1
2
3
4
5
6
7

public static void main(String[] args) {
List<Integer> a = Arrays.asList(1,2,3,4);
List<Integer> b = Arrays.asList(4,3,2,1);
System.out.println(compare(a, b));
}

//执行结果 true
更多追问追答
追问
Collections.sort()是否对两个集合进行了重新排序
追答
是的,不排序,不好比较集合内的值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小童鞋_成er
2014-11-14 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
//Collection中有一个取交集的方法,还有取交集的方法:
retainAll(Collection<?> c) 
          仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
更多追问追答
追问
这个有顺序关联吗,
我那个主要验证顺序是否相等
追答
没有,只要相同的就会取出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式