swift 数组、字典、集合、结构体、枚举——swift学习(四)

来源:互联网 发布:小学古诗大全软件 编辑:程序博客网 时间:2024/05/20 07:53
//数组 arraylet arr:Array = [4,5,6];  //不可变数组var mulArr:Array = ["a","b","c"]; //没有显示说明数组元素的数据类型var mulAr2:Array = [Int]() // 声明一个空数组mulAr2.append(1)//添加元素mulAr2+=[2,3]//添加数组mulAr2+=arr//添加数组mulAr2.insert(0, atIndex: 0)//指定位置添加元素for element in mulAr2{    print("\(element)")}print("\n")mulAr2[1] = 7 //通过下标修改元素mulAr2[0...2] = [7,8,9] //通过区间修改元素for element in mulAr2{    print("\(element)")}print("\n")if !mulAr2.isEmpty{//判断数组是否为空    print("\(mulAr2.count)")//count数组个数}print("\n")mulAr2.removeAtIndex(2)//删除下标为2的元素for element in mulAr2{    print("\(element)")}print("\n")mulAr2.removeLast()//删除最后的元素for element in mulAr2{    print("\(element)")}print("\n")mulAr2.removeFirst(2)//删除前两个元素for element in mulAr2{    print("\(element)")}print("\n")let newMulArr = mulAr2+arr//数组组合for(index,value) in newMulArr.enumerate(){//使用enumerate()同时遍历数组的所有索引与数据    print("index:\(index) value:\(value)")}//字典 dictionaryvar empty = [String:Int]()//建立一个空的字典empty["test"] = 1//添加一个元素empty = [:]//又变成一个空数组var myDic:Dictionary = ["name":"shayne","age":"24"]myDic["address"] = "china"//添加元素myDic["sex"]="boy"myDic.removeValueForKey("age")//删除“name”这个key值myDic["address"] = nilfor (key,value) in myDic{//遍历字典的键值对    print("\(key):\(value)")}for key in myDic.keys{//遍历字典的键    print("\(key)")}for value in myDic.values{//遍历字典的值    print("\(value)")}if let oldValue = myDic.updateValue("fcf", forKey: "name"){//updateValue用于修改相应键对应的值,因为字典有可能不存在该值,所以要使用可选型    print("\(oldValue):\(myDic["name"]!)")}//集合 setvar emptySet = Set<Character>()//创建一个特定类型的空集合,注意这里的类型一定要显性表示出来print("\(emptySet.count)")emptySet.insert("c")emptySet = []//置空var set1:Set = ["b","c","a"]//这里的类型就可以省略set1.insert("d")//if let removeSetItem = set1.remove("b"){//移除元素    print("\(removeSetItem)")}if set1.contains("a"){//是否包含某个元素    print("\(set1.indexOf("a"))")//拿到索引}for itemOfSet in set1.sort(){//排序    print("\(itemOfSet)")}let set2:Set<Int> = [1,3,5,7,9]let set3:Set<Int> = [0,2,4,6,8]let sushu:Set<Int> = [2,3,5,7]for item in set2.union(set3){//并集   print("\(item)")}print("\n")for item in set2.intersect(sushu){//交集    print("\(item)")}print("\n")for item in set2.exclusiveOr(sushu){//set2与sushu的并集除set2与sushu的交集    print("\(item)")}print("\n")for item in set2.subtract(sushu){//set2中除去set2与sushu的交集    print("\(item)")}//使用==判断两个子集是否相等//isSubsetOf()判断集合中的某个值是不是在另一个集合中//isSupersetOf()判断一个集合是不是包含另外一个集合的所有值//isStrictSubsetOf()判断某个集合是不是某个集合的子集且两个集合不等//isStrictSupersetOf()判断某个集合是不是某个集合的父集且两个集合不等//结构体 structstruct BookInfo{    var ID:Int = 0    var Name:String = "Default"    var Author:String = "fcf"}var book1:BookInfo // 默认构造器创建结构体实例var book2 = BookInfo(ID:001,Name:"shayne",Author: "fcf")//book2.ID = 002 //修改值//枚举 enumenum Direction{    case North    case South    case East    case West}var direction = Direction.Eastenum Planet:Int{    case Mercury = 1    case Venus = 2    case Earth = 3}let earthOrder = Planet.Earth.rawValue //rawValue获取原始值print(earthOrder)let possiblePlanet = Planet(rawValue:2) //通过原始值来寻找对应的枚举成员print(possiblePlanet!)enum Direct {    case Up    case Down    func description() -> String {        switch (self) {        case .Up:            return "上"            //这里不需要使用break跳出,但是要往下执行可以加fallthrough        case .Down:            return "下"        }    }}print(Direct.Up.description())
1 0
原创粉丝点击