我正在学习Swift标准库,看到了一个方法elementsEqual用于比较序列。
我不太明白这个函数的价值所在,因为它只会在顺序完全相同的情况下返回true。如果它可以告诉我两个序列是否包含相同的元素,而这些元素恰好处于不同的顺序中,那么它就会有一些用处,因为这可以避免我自己进行排序的麻烦。
这就引出了我的问题:
使用elementsEqual和'=='在比较两个序列时有什么区别吗?它们之间有优缺点吗?
我写了以下测试程序:
let values = [1,2,3,4,5,6,7,8,9,10]
let otherValues = [1,2,3,4,5,6,7,8,9,10]
values == otherValues
values.elementsEqual(otherValues)
这两个检查结果都为true,因此我无法辨别它们之间的区别。
==
运算符。 - Martin R=
和==
无关。 - rmaddylet aa = 1...3 let bb = 1...3 if aa == bb { print("hello") }
是可以工作的。 - rmaddy==
运算符:https://developer.apple.com/documentation/swift/1539758,这就是`values == otherValues`所调用的。 - Martin R