判断数组是否相等前,先介绍以下几种判断的机制,当然你也可以直接滑到底部去查看怎么判断数组相等,也可以直接去下载Demo,更快的解决问题:Demo传送门
将依次介绍containsObject,== ,isEqual:,isEqualToArray: ,filteredArrayUsingPredicate ,交并差集。
containsObject:
官方API说明中这样写到:
Returns a Boolean value that indicates whether a given object is present in the array
判断给定的一个Object是否存在数组中,因此判断两个数组是否一样,该方法不可行。containsObject实际是找到数组中的元素,使用isEqual:判断两个值是否一样。
==
判断两个指针变量的地址是否指向同一个内存地址,是则返回true:isEqual:,isEqualToArray:
判断每一项是否相等,可以判断数组是否相等,但前提是数组要有序,你要先根据某个元素进行统一排序,才可以使用: