java 两个arraylist放着相同的东西,但顺序不同,怎么判断两个是否相等 10
4个回答
展开全部
按顺序遍历 全都相等 就相等 遍历中有一个不相等 直接返回不相等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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()是否对两个集合进行了重新排序
追答
是的,不排序,不好比较集合内的值
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-14 · 知道合伙人数码行家
关注
展开全部
//Collection中有一个取交集的方法,还有取交集的方法:
retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
更多追问追答
追问
这个有顺序关联吗,
我那个主要验证顺序是否相等
追答
没有,只要相同的就会取出。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询