为了比较两个集合中包含的不同类型对象,可以使用泛型和equals()方法。具体实现如下:
定义一个泛型方法,将两个集合作为参数传递进去,比较它们是否相等。
public static boolean compareCollections(Collection col1, Collection col2) {
if (col1.size() != col2.size()) {
return false;
}
Iterator ite1 = col1.iterator();
Iterator ite2 = col2.iterator();
while (ite1.hasNext() && ite2.hasNext()) {
E obj1 = ite1.next();
E obj2 = ite2.next();
if (!obj1.equals(obj2)) {
return false;
}
}
return true;
}
使用示例:
List list1 = new ArrayList<>();
list1.add(1);
list1.add(2);
list1.add(3);
Set set1 = new HashSet<>();
set1.add("hello");
set1.add("world");
List list2 = new ArrayList<>();
list2.add(1);
list2.add(2);
list2.add(3);
Set set2 = new HashSet<>();
set2.add("hello");
set2.add("universe");
boolean result1 = compareCollections(list1, list2); // true
boolean result2 = compareCollections(set1, set2); // false
下一篇:比较包含不同数量字典的列表