zoukankan      html  css  js  c++  java
  • swift中数组和字典的创建,使用,遍历

    这里是数组的使用

    • 创建一个指定类型以及指定默认值和数组大小的数组,一个是字面量的,一个是NSArray的

    var someInts = [Int](repeating: 0, count: 3)//创建一个指定类型以及指定默认值和数组大小的数组
    //print(someInts)//0 0 0
    someInts[0] = 1;
    //print(someInts)//1 0 0
    someInts.append(2);
    //print(someInts)//1 0 0 2
    //print(someInts+[3])//1 0 0 2 3
    
    someInts.insert(10, at: 0)
    //print(someInts)//10, 1, 0, 0, 2
    
    someInts.remove(at: 0)
    //print(someInts)//1, 0, 0, 2
    //someInts.removeLast()删除第一个
    //someInts.removeLast()//删除最后一个
    
    someInts.removeAll()//删除全部
    print(someInts)//
    
            var arr1: NSArray = ["1","2","3","4","5"];//创建一个数据
            print(arr1[0]);//1 输出打印某一个值
            print(arr1.object(at: 0));//1 和上面是等价的
            
            var arr2: NSArray = NSArray.init(array: arr1)
            print(arr2);//1 2 3 4 5
            
            var arr3: NSArray = NSArray.init(object: "2");
            print("arr3:(arr3)")//2
    
            var arr4: NSArray = NSArray.init(objects: "2","3");
            print("arr4:(arr4)")// 2 3
    
    • 可变数组的使用
            var arr1: NSArray = ["1","2","3","4","5"];
            var arr2: NSMutableArray = NSMutableArray.init();
            arr2.addObjects(from: arr1 as! [Any]);//把arr1中所有的obj添加到arr2
            print(arr2);//1 2 3 4 5
            arr2.add("6")//添加一个对象
            print(arr2);//1 2 3 4 5 6
            arr2.insert("0", at: 0);//在指定的地方插入一个对象
            print(arr2);//0 1 2 3 4 5 6
            arr2.remove("0");//删除指定的对象
            print(arr2);//1 2 3 4 5 6
            arr2.removeLastObject();//删除最后一个对象
            print(arr2);//1 2 3 4 5
            arr2.removeObject(at: 1);//删除指定索引的对象
            print(arr2);//1 3 4 5
            arr2.replaceObject(at: 2, with: "10")//覆盖指定索引的对象
            print(arr2);//1 3 10 5
            arr2.removeAllObjects();//清空数组
    
    • 数组的遍历的两种方式
            for obj in arr1 {//数据遍历
                print(obj);// 1 2 3 4 5
            }
    
            for (index,item) in arr1.enumerated()
            {
                print("index:(index) obj:(item)",terminator: "    ");
                //输出结果 index:0 obj:1    index:1 obj:2    index:2 obj:3    index:3 obj:4    index:4 obj:5   
            }
    

    字典的使用

    • 创建一个指定key类型和value类型的字典

            //var someDict =  [KeyType: ValueType]()//创建一个指定key类型和value类型的字典
            var dic1 = [String:String]();
            dic1["1"] = "one"
            dic1["2"] = "Two"
            dic1["3"] = "Three"
    //        print(dic1);//["2": "Two", "1": "one", "3": "Three"]
    //        print(dic1["1"]);//Optional("one")  访问指定key的值
            
            var dic2:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
            print(dic2);//[3: "Three", 1: "One", 2: "Two"]
            dic2.updateValue("first", forKey: 1);//修改指定key的值
            print(dic2);//[3: "Three", 1: "first", 2: "Two"]
            dic2.removeValue(forKey: 1);//移除指定key的值
            print(dic2);//[3: "Three", 2: "Two"]
    
    • NSDictionary的使用
           var dic1: NSDictionary = NSDictionary.init(objects: ["1","2","3"], forKeys: ["one" as  NSCopying,"two" as NSCopying,"three" as NSCopying]);
            print(dic1);
            {
                one = 1;
                three = 3;
                two = 2;
            }
            print(dic1.object(forKey: "one"))//Optional(1)
            print(dic1.allKeys);//[one, two, three]
    
    • NSMutableDictionary的使用

           var dic1: NSDictionary = NSDictionary.init(objects: ["1","2","3"], forKeys: ["one" as NSCopying,"two" as NSCopying,"three" as NSCopying]);
            var dic2: NSMutableDictionary = NSMutableDictionary.init(dictionary: dic1);
            print(dic2);
            dic2.setObject("4", forKey: "four" as NSCopying);//新增
            print(dic2);
            dic2.removeObject(forKey: "four");//删除
            print(dic2)
            dic2.setObject("11", forKey: "one" as NSCopying)//修改
            print(dic2);
            dic2["one"] = "12"//修改
            print(dic2);
            dic2.removeAllObjects();//删除全部
            print(dic2);
    
    • 字典的遍历
            for (key, value) in dic2 {
                print("字典 key (key) -  字典 value (value)")
            }
    
            for (key, value) in dic2.enumerated() {
                print("字典 key (key) -  字典 (key, value) 对 (value)")
            }
    
    •  print的基础使用
    for x in 0...10{
        print("(x) ", terminator: "*")//terminator是指链接符号
    }
    print()
    print(1.0, 2.0, 3.0, 4.0, 5.0, separator: "*")//separator设置连接符号

     

  • 相关阅读:
    Linux学习33 crontab定时任务语法在线校验 上海
    python测试开发django175.bootstrap导航带下拉菜单的标签页标签页(navtabs) 上海
    python测试开发django172.jQuery 发送请求获取的数据设置为全局变量 上海
    team讨论有感
    蜕变(3)---模式
    uml建模的随想
    Bridge Strategy 和State的区别
    友元在模式中的运用
    Design&Pattern团队《设计模式在软件开发的应用》精华版
    面向对象乱弹(一)
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/11607432.html
Copyright © 2011-2022 走看看