美文网首页
iOS开发 - 「Swift 学习」Sets集合的遍历与相关的合

iOS开发 - 「Swift 学习」Sets集合的遍历与相关的合

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

    Swift语言Set集合的遍历、合并、拆分、求交集的操作

    Set集合的遍历

    //用字面量创建集合
            var fruitsSet:Set<String> = ["apple","banana","pear","orange","watermelon"]
    
    

    一、for in 遍历

           for fruits in fruitsSet {
                print("集合遍历结果:\(fruits)")
                /*
                 集合遍历结果:watermelon
                 集合遍历结果:apple
                 集合遍历结果:orange
                 集合遍历结果:banana
                 集合遍历结果:pear
                 */
            }
    

    二、按照特定顺序遍历

    Swift语言中Set类型元素是没有确定的顺序,为了能够按照特定顺序来遍历Set中的元素值可用使用sorted()方法,将返回一个有序的数组,这个数组的元素排列顺序由操作符“<“对元素进行比较排序的结果来确定

    //按照特定顺序遍历
            for sortingFruits in fruitsSet.sorted(){
                print("The results of the sort:\(sortingFruits)")
                /*
                 The results of the sort:apple
                 The results of the sort:banana
                 The results of the sort:orange
                 The results of the sort:pear
                 The results of the sort:watermelon
                 */
            }
    

    集合的操作

            let oddDigits:Set<Int> = [1,3,5,7,9]
            let evenDigits:Set<Int> = [0,2,4,6,8]
            let singleDigitPrimeNumbers:Set = [2, 3, 5, 7]
    

    一、获取两个集合的交集

    • 使用intersection(_:)方法根据两个集合中都包含的值创建的一个新的集合(获取两个集合的交集)
            let intersectionSet = oddDigits.intersection(singleDigitPrimeNumbers).sorted()
            print("获取两个集合的交集:\(intersectionSet)")
            //打印输出:获取两个集合的交集:[3, 5, 7]
    

    二、获取两个集合不包含的部分

    • 使用symmetricDifference(_:)方法根据在一个集合中但不在两个集合中的值创建一个新的集合(类似于求异)
            let singleDigitPrimeSet = oddDigits.symmetricDifference(singleDigitPrimeNumbers).sorted()
            print("根据在一个集合中但不在两个集合中的值创建一个新的集合:\(singleDigitPrimeSet)")
            //打印输出:根据在一个集合中但不在两个集合中的值创建一个新的集合:[1, 2, 9]
    

    三、获取两个集合的并集

    • 使用union(_:)方法根据两个集合的值创建一个新的集合(获取两个集合的并集)
            let andSet = oddDigits.union(evenDigits).sorted()
            print("获取两个集合的并集:\(andSet)")
            //打印输出:获取两个集合的并集:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    

    四、求补集

    • 使用subtracting(_:)方法根据不在该集合中的值创建一个新的集合(求补集)
            let subtractingSet = oddDigits.subtracting(singleDigitPrimeNumbers).sorted()
            print("获取集合oddDigits不包含集合singleDigitPrimeNumbers的部分:\(subtractingSet)")
            //打印输出:获取集合oddDigits不包含集合singleDigitPrimeNumbers的部分:[1, 9]
    

    \color{red}{😏关系有点儿复杂、有点儿绕,建议咬字捋关系}


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

    相关文章

      网友评论

          本文标题:iOS开发 - 「Swift 学习」Sets集合的遍历与相关的合

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