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

2021-11-25  本文已影响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]

一、获取两个集合的交集

        let intersectionSet = oddDigits.intersection(singleDigitPrimeNumbers).sorted()
        print("获取两个集合的交集:\(intersectionSet)")
        //打印输出:获取两个集合的交集:[3, 5, 7]

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

        let singleDigitPrimeSet = oddDigits.symmetricDifference(singleDigitPrimeNumbers).sorted()
        print("根据在一个集合中但不在两个集合中的值创建一个新的集合:\(singleDigitPrimeSet)")
        //打印输出:根据在一个集合中但不在两个集合中的值创建一个新的集合:[1, 2, 9]

三、获取两个集合的并集

        let andSet = oddDigits.union(evenDigits).sorted()
        print("获取两个集合的并集:\(andSet)")
        //打印输出:获取两个集合的并集:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

四、求补集

        let subtractingSet = oddDigits.subtracting(singleDigitPrimeNumbers).sorted()
        print("获取集合oddDigits不包含集合singleDigitPrimeNumbers的部分:\(subtractingSet)")
        //打印输出:获取集合oddDigits不包含集合singleDigitPrimeNumbers的部分:[1, 9]

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


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

上一篇下一篇

猜你喜欢

热点阅读