相同是数组1中有的元素数组2中也有,位置可能不同;相等是数组1的元素和相同位置的数组2中的元素相同。
相等要求更高,位置和元素都相同。
//比较两个数组中是否有不同元素
- (BOOL)filterArr:(NSArray
*)arr1 andArr2:(NSArray *)arr2 {
NSPredicate
*filterPredicate = [NSPredicatepredicateWithFormat:@"NOT
(SELF IN %@)",arr1];
//得到两个数组中不同的数据
NSArray
*reslutFilteredArray = [arr2 filteredArrayUsingPredicate:filterPredicate];
if
(reslutFilteredArray.count >
0) {
returnYES;
}
returnNO;
}
//比较两个数组中是否相等
- (BOOL)filterArr:(NSArray
*)arr1 andArr2:(NSArray *)arr2 {
if
(arr1.count != arr2.count)
{ //两次数量不同,直接显示
returnYES;
}else
{ //两个数量相同,比较字符串
int
hasSame =0;
for
(int i =
0; i < arr1.count;
i++) {
NSString
*picUrl1 = arr1[i];
NSString
*picUrl2 = arr2[i];
if
([picUrl1isEqualToString:picUrl2]) {
hasSame++;
}
}
if
(hasSame < arr1.count) {
//至少有一个不同
returnYES;
}else
{ //两个元素相同,hasSame不可能等于arr1.count
returnNO;
}
}
}