美文网首页
iOS开发 - 「Swift 学习」Sets集合类型创建、编辑

iOS开发 - 「Swift 学习」Sets集合类型创建、编辑

作者: 俺不是大佬儿 | 来源:发表于2021-11-23 15:54 被阅读0次

Swift语言Set集合创建,访问和修改集合(包含、判空、删除、插值)

Set用来存储相同类型并且没有确定顺序的值,当集合元素顺序不重要时或者希望确保每个元素只出现一次时可以使用集合而不是数组

创建集合

一、创建一个空集合

 //创建一个空集合
        let goodsSets = Set<Character>()
        print("goodsSets is of type Set<Character> with \(goodsSets.count) items.")
        //打印输出:goodsSets is of type Set<Character> with 0 items.

二、用字面量创建集合

//用字面量创建集合
        var fruitsSet:Set<String> = ["apple","banana","pear","orange","watermelon"]//这个fruitsSet变量被声明为“一个String值的集合”,写为Set<String>。由于这个特定的集合含有指定String类型的值,所以它只允许存储String类型值
        print(fruitsSet)
        //打印输出:["banana", "orange", "watermelon", "pear", "apple"]
        //从输出结果可以看出Set是无序的

从输出结果可以看出Set是无序的

一个Set类型不能从数组字面量中被单独推断出来,因此Set类型必须显式声明,由于 Swift 的类型推断功能,如果你想使用一个数组字面量构造一个Set并且该数组字面量中的所有元素类型相同,那么你无须写出Set的具体类型。fruitsSet的构造形式可以采用简化的方式代替:

例:


       var fruitsSet: Set = ["apple","banana","pear","orange","watermelon"]

三、Set包含判断

判断Set中是否包含某个值(使用contains(<#T##member: String##String#>)方法去检查Set中是否包含一个特定的值)

       
        if fruitsSet.contains("orange"){
             print("Contains in it")
         } else {
             print("Does not contain among them")
         
         }
        //打印输出:Contains in it

访问和修改集合

一、集合判空

判断Set 的count属性是否为0 (isEmpty)

 //用数字字面量创建集合
        var fruitsSet:Set<String> = ["apple","banana","pear","orange","watermelon"]
        //获得Set中的元素数量,使用只读属性count
        print("I have \(fruitsSet.count) favorite fruits")
        //打印输出:I have 5 favorite fruits
        
        //集合判空
        //判断Set 的count属性是否为0 (isEmpty)
        if fruitsSet.isEmpty{
        
            print("count 是空的为0")
            
        }else{
        
            print("count不是空的有 \(fruitsSet.count) 个值")
        
        }
        //打印输出:count不是空的有 5 个值

二、添加元素

在Set中添加一个新元素,(通过调用Set的insert(<#T##newMember: String##String#>)方法)

//添加元素
        //在Set中添加一个新元素,(通过调用Set的insert(<#T##newMember: String##String#>)方法)
        var fruitsSet:Set<String> = ["apple","banana","pear","orange","watermelon"]
        fruitsSet.insert("cherry")////给fruitsSet添加一个新元素cherry(樱桃)
        print("fruitsSet insert results:\(fruitsSet)")
        //打印输出:
        //fruitsSet insert results:["banana", "pear", "orange", "cherry", "watermelon", "apple"]

三、删除元素

删除Set中的元素(通过调用Set的remove(<#T##member: String##String#>)方法去删除一个元素,如果该值是该Set的一个元素则删除该元素并且返回被删除的元素值,否则如果该Set不包含该值,则返回nil。另外,Set中的所有元素可以通过它的removeAll()方法删除)


//删除元素
        var fruitsSet:Set<String> = ["apple","banana","pear","orange","watermelon"]
        if let removeFruits = fruitsSet.remove("pear") {
            print("remove:\(removeFruits)")
        }else {
            print("fruitsSet none pear")
        }
        //打印输出:remove:pear


\color{gray}{欢迎大佬儿来指正纠错,共同学习😏!!}

相关文章

网友评论

      本文标题:iOS开发 - 「Swift 学习」Sets集合类型创建、编辑

      本文链接:https://www.haomeiwen.com/subject/kqeltrtx.html