zoukankan      html  css  js  c++  java
  • Set

    //Set是无序的 Array是有序的

     

    //初始化

    var letters = Set<Character>()

     

    //插入 跟数组一样 只能添加同种类型的

    letters.insert("a")

     

     

    //清空

    letters = []

     

     

     

    var setA:Set<String> = ["av","yes"]

    var setB:Set = ["sb","no"]

     

    //判断空值

    if setA.isEmpty {

        

    }

     

     

    //元素是合集的成员就移除它,并且返回移除的值,如果合集没有这个成员就返回 nil

    let av = setA.remove("av")

     

     

    //要检查合集是否包含了特定的元素

    let iso:Bool = setB.contains("sb")

     

     

    //循环遍历

    for str in setB

    {

        print(str)

    }

     

    //Swift Set类型是无序的。要以特定的顺序遍历合集的值,使用 sorted()方法,它把合集的元素作为使用 < 运算符排序了的数组返回。

    for str in setB.sorted()

    {

        print(str)

    }

     

     

     

    var setC:Set = ["a","b","c"]

    var setD:Set = ["c","d","e"]

     

     

     

    //创建一个只包含两个合集共有值的新合集 (加上sored有顺序 不加没有顺序)

    var setBoth = setC.intersection(setD).sorted()

     

     

     

    //创建一个只包含两个合集各自有的非共有值的新合集

    var setOther = setC.symmetricDifference(setD).sorted()

     

     

    //创建一个包含两个合集所有值的新合集

    var setAll = setC.union(setD).sorted()

     

    //创建一个两个合集当中不包含某个合集值的新合集。

    var setNot = setC.subtracting(setD).sorted()

     

     

    print("(setNot),(setC),(setD)")

     

     

    var setE:Set = ["f","g"]

     

    //相等运算符 ( == )来判断两个合集是否包含有相同的值

    if setD == setC{

        

    }

     

    //确定一个合集的所有值是被某合集包含

    if setE.isSubset(of: setC)

    {

        

    }

     

    //确定一个合集是否包含某个合集的所有值

    if setC.isSuperset(of: setE){

        

    }

     

    //来判断两个合集是否拥有相同的值

    if setC.isDisjoint(with: setD){

        

    }

     

     

  • 相关阅读:
    python3给socket模块设置代理
    yield、greenlet与协程gevent
    线程池
    并发通信、生产者与消费者模型
    多进程和多线程
    非阻塞套接字与IO多路复用
    14.python模块之subprocess
    判断页面是否滑到底部
    @vue/cli 3.x 版本配置productionGzip提高性能
    vue跳转到指定位置
  • 原文地址:https://www.cnblogs.com/slc-lover/p/5653140.html
Copyright © 2011-2022 走看看