在Swift中获取Set <string>的索引

时间:2017-04-14 09:39:11

标签: swift set

let setOfStrings: Set<String> = ["ONE", "TWO", "THREE"];

它的行为与数组不同,因此setOfStrings[0]不起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可能希望按如下方式访问该集的第一个元素:

if let first = setOfStrings.first {
    print(first)
}

假设您已经熟悉:Set是无序数据结构,即:first值不能保证为“ONE”。

您不能通过索引将集合中的元素作为整数(setOfStrings[0])访问,但是,由于Set表示Collection(由集合采用),SetIndex可能是什么您正在寻找,使用当前集合的Set.Index,如下所示:

let setOfStrings: Set<String> = ["ONE", "TWO", "THREE"]
// for me, it sorted as: {"THREE", "TWO", "ONE"}

let mySetIndex = setOfStrings.index(setOfStrings.startIndex, offsetBy: 1)

let secondElemnet = setOfStrings[mySetIndex] // "TWO"

请注意:

  

返回与给定索引指定距离的索引。

  • mySetIndex数据类型为SetIndex<String>