如何判断两个集合内容是否相等?
这个问题考虑的几个点:
1.size是否相同
2.元素是否相同(废话)
不多写了直接贴代码:
/**
* 判断集合元素是否相同
* @param list_a 集合a
* @param list_b 集合b
* @param <Q> 泛型
* @return
*/
public static <Q> boolean equals(List<Q> list_a, List<Q> list_b) {
//非空判断还是要的
if (list_a == null || list_a.isEmpty()) {
return false;
}
if (list_b == null || list_b.isEmpty()) {
return false;
}
//size判断
if (list_a.size() != list_b.size()) {
System.out.println("size is not equal,return false!");
return false;
}
Q a;
Q b;
for (int i = 0; i < list_a.size(); i++) {
a = list_a.get(i);
for (int x = list_b.size() - 1; x >= 0; x--) {//这个是重点,要倒序遍历