• Swift,集合


    1、创建(Set)集合(无序不可重复)

    (1)创建空集合

    var a=Set<Int>()  //[]
    

    (2)创建集合

    var a:Set=[1,2,3]  //[2,3,1]
    

    2、集合插入(insert)中间

    var a:Set=[1,2,3]
    a.insert(4)  //[2,4,3,1]
    

    3、集合(remove)删除

    var a:Set=[1,2,3]
    a.remove(2)  //[3,1]
    

    4、集合(contains)是否有这个元素

    var a:Set=[1,2,3]
    print(a.contains(2))  //true
    

    5、把集合转换(sorted)成数组

    var a:Set=[1,2,3]
    var b=a.sorted()  //[1,2,3]
    

    6、集合的特殊应用,子集,父集,交集,并集,补集,差集

    (1)交集

    let x:Set=[1,2,3]
    let y:Set=[3,4,5]
    let z=x.intersection(y)  //[3]
    

    (2)差集

    var x:Set=[1,2,3]
    var y:Set=[3,4,5]
    x.subtract(y)    //修改自身x,[2,1]
    

    (3)并集

    var x:Set=[1,2,3]
    var y:Set=[3,4,5]
    var z=x.union(y)  //[3,4,1,5,2]
    

    (4)补集

    var x:Set=[1,2,3]
    var y:Set=[3,4,5]
    var z=x.symmetricDifference(y)    //[5,2,4,1]
    

    (5)判断是否子集

    var x:Set=[3,4,5]
    var y:Set=[3,4,5]
    var z=x.isSubset(of:y)  //x是不是y的子集,true
    var q=x.isStrictSubset(of:y)  //严格子集,false
    

    (6)判断是否是父集

    var x:Set=[3,4,5]
    var y:Set=[3,4,5]
    var z=x.isSuperset(of:y)  //x是不是y的父集,true
    var q=x.isStrictSuperset(of:y)  //严格父集,false
    

    (7)判断是否有交集

    var x:Set=[3]
    var y:Set=[3,4,5]
    var z=x.isDisjoint(with:y)  //false
    

      

      

      

  • 相关阅读:
    H264 RTP封包原理(转载)
    FFmpeg的H264编码有内存泄漏吗??!!!
    最近在研究FFmpeg编解码
    罗一迦
    健康导报
    Vivado生成edf文件
    VIVADO生成MCS
    网络变压器
    Zynq 在Ubuntu上搭建编译环境
    [转]TimeQuest之delay_fall clock_fall傻傻分不清楚
  • 原文地址:https://www.cnblogs.com/huangqiming/p/7511059.html
Copyright © 2020-2023  润新知