zoukankan      html  css  js  c++  java
  • Swift3.0 Set

    set的简单的使用方法

     //创建一个空set
            var letters = Set<Character>()
            
            //数组字面量创建set,只能存放string
            var setColors:Set<String> = ["红色","白色","洋红色","黄色"]
     //推断存放string类型
            var setColors:Set = ["红色","白色","白色","洋红色","黄色"]
            //获取元素数量 ,set 无序的,且无重复的元素
            print(setColors,setColors.count)
            
            //添加元素
            setColors.insert("黑色")
            print(setColors)
            
            
            //查看set是否包含红色
            if setColors.contains("红色") {
                print("有你想要的")
            }else{
                print("抱歉,还未添加")
            }
            
    
            //删除元素
            //删除某个元素
            setColors.remove("黑色")
            print(setColors)
            //删除所有元素
            setColors.removeAll()
            print(setColors)
            
            //定义两个set
            let numbers1:Set = [1,2,3,4,5]
            let numbers2:Set = [4,5,6,7,8,]
            
            //进行遍历
            for n in numbers1 {
                print("无序:(n)")
            }
            
            for n in numbers1.sorted(){
                 print("有序:(n)")
            }
            
            //set之间的操作
            //找出两个set 中相同的元素
            let newSet = numbers1.intersection(numbers2).sorted()
            print(newSet)
            
            //去除相同元素放到一个新的集合中
            let newSet1 = numbers1.symmetricDifference(numbers2.sorted())
            print(newSet1)
            
            //合并两个集合
            let newSet2 = numbers1.union(numbers2.sorted())
            print(newSet2)
            
            //找出numbers1 中 numbers2 不包含的元素
            let newSet3 = numbers1.subtracting(numbers2.sorted())
            print(newSet3)
            
            //集合之间的关系
            let a:Set<Int> = [1,2,3,4,5]
            let b:Set<Int> = [2,3,4]
            let c:Set<Int> = [4,5,6,7,8]
            
            print("b的值是否全部被a包含",b.isSubset(of: a))
            print("a是否包含b所有的值",a.isSuperset(of: b))
    
            print("a是否为b子集集",a.isStrictSubset(of: b))
            print("a是否为b父集",a.isStrictSuperset(of: b))
            
            print("a与c是否没有交集",a.isDisjoint(with: c))
            
  • 相关阅读:
    JVM垃圾回收算法
    Java内存堆和栈的区别?
    JDK8为何要废弃永久代
    配置环境变量的一些坑
    在配置环境变量时是该用系统环境变量还是用户环境变量?
    RPC(远程过程调用协议)介绍
    如何修改博客园“插入代码”中的代码风格?(一个博客园代码高亮的方案)
    如何修改博客园插入代码的默认代码大小?
    Java值传递
    使用VS2017实现C#第一个代码
  • 原文地址:https://www.cnblogs.com/xingsmile/p/6170734.html
Copyright © 2011-2022 走看看