swift - array、dictionary 的学习

一.数组

 1.初始化,和oc一样用【】定义数组,但是@

 int型,string型,any型

var intArray = [Int]()
var stringArray = [String]();
var anyArray = [Any]();

    func demo()  {

        
        
        //和oc一样【】定义数组 ,但是没有@
        //自动推到数组中存放的类型
        let array = ["老三","老师","大哥"]
        print(array);
        
        //oc中基本类型需要包装  这里不需要
        let array2 = [1,2,34,4]
        print(array2)
        
        //混合数组:开发中基本不用
        //类型不一致,自动推导为nsobject
        //在swift中海油一种类型【AnyObject】 - 任意对象
        let p = CGPoint(x:1,y:2);
        
        let arry3 = ["掌声",1,p] as [Any]
        print(arry3)
        
    }
    //数组的遍历
    func demo2(){
        let array = ["老三","老师","大哥"]
        //下标遍历
        for i in 0..<array.count{
            print(array[i])
        }
        //元素遍历
        for s in array {
            print(s)
        }
        //enum block遍历 同时取下标和内容
        for e in array.enumerated() {
            //e 为元组
            print(e)
            print("\(e.offset)\(e.element)")
        }
        //遍历下标和内容 n 为下标,s为对于元素
        for (n,s) in array.enumerated() {
            print("\(n)\(s)")
        }
        //反序遍历
        for s in array.reversed() {
            print(s)
        }
        //反序索引 下标和内容
        for (n,s) in array.enumerated().reversed() {
            print("\(n)\(s)")
        }
        
    }
    //MARK: 数组的增 删 改 合并
    func demo3(){
        var array = ["老三","老师","大哥"] as [Any]
        //增
        array.append("老王")
        print(array)
        //修改 通过下标定位
        array[0] = "小王"
        
        //删除
        array.remove(at: 0)
          //删除全部保留空间
        array.removeAll(keepingCapacity: true)
        print("现在数组的容量\(array.capacity)")
        
        //合并 (要合并的数组类型必须一直)
        var array2 = ["要死","sb",15] as [Any]
        
        array2 += array
        
        print(array2)
        
    }
二、dictionary字典

  var mainDict:[String:Any] = ["name":"老王","age":12]
    var mainDict2:[String:Any] = ["name":"老贺","age":25]
    override func viewDidLoad() {
        super.viewDidLoad()
        
        demo()
        demo2()
        demo3()
        demo4()
    }
    //定义
    func demo(){
        //oc使用{},swift使用[]
        //let dict: [String : Any]
        let dict = ["name":"老王","age":"12"]
        
        print(dict);
        
        let dict2:[[String:Any]] = [["name":"老王","age":12],["name":"老李","age":18]]
        
        print(dict2);
        
    }
    //增  删 改
    func demo2(){
        var dict:[String:Any] = ["name":"老王","age":12]
        //增
         dict["height"] = 56
        
        //修改
         dict["name"] = "老李"
        //删除
        dict.removeValue(forKey: "age")
    }
    //遍历
    func demo3(){
        //element为元组
        for element in mainDict{
            print("\(element.key)\(element.value)")
        }
        for (key,value) in mainDict {
            print("\(key)\(value)")
        }
        
    }
    //合并 不能像array那样相加 
    //遍历依次添加合并
    func demo4(){
        for element in mainDict2 {
            mainDict[element.key] = mainDict2[element.key]
            print(mainDict)
        }
    }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值