我理解 Set Collection 是键值对,并且键不重复。
在下面的例子中,我认为水果是关键。
但是 .firstIndex(of: ) 存在为什么?
那么可以存在第二个索引吗?
我是不是对这个系列有什么误解?
var favoriteFruits: Set = ["Banana", "Apple", "Orange", "Orange"]
favoriteFruits.insert("WaterMelon")
print(favoriteFruits)
favoriteFruits.remove("Banana")
print(favoriteFruits)
if favoriteFruits.contains("Tomato") {
print("Tomato is my favorite Fruits")
} else {
print("Tomato is not my favorite Fruits")
}
print(favoriteFruits.firstIndex(of: "Orange"))
如果您发表评论,将会有很大帮助。
最佳答案
如果您检查firstIndexOf method's explanition你会看到一个定义:
Available when Element conforms to Equatable.
集合符合Equatable
。您还可以在检查两个集合的相等性时对此进行测试。下面的代码不会给出任何错误。
if set1 == set2{
//....
}
You ask .firstIndex(of: ) is exist why?
所以Set
的集合类型使用firstIndexOf
方法没有任何障碍
如果你问为什么set是equatable
.Set使用哈希表来检查里面的元素。因此Set 必须是可哈希的
。符合Hashable
的对象也必须是Equatable
关于swift - 为什么 Swift Set 函数 为什么firstIndex(of : ) Apply?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74716675/