Swift 2.0 学习第3天: 字典和数组

//: Playground - noun: a place where people can play


import Cocoa


/*

var str = "Hello, playground"


let nameArr = ["哈哈哈"]

for i in 0..<nameArr.count {

//    print(nameArr[i])

    

    for char in nameArr[i].unicodeScalars {

        var b = char.value

        print(b)//ASIIC

        

//        var a = Character(UnicodeScalar(char.value))

        var a = UnicodeScalar(char.value)

        print(a)//字符

    }

}

*/


/*

print("-----------------------------------")

/*-1-**********数组**********/

let myArr = ["1", "2", "0"]

print(myArr)


//声明

var arr:[String]

var arr1:Array<Int>

//赋值

arr = ["0", "1"]

arr1 = [0, 1, 2]

print(arr)

print(arr1)


//初始化,创建空数组 ****

var nullArr = [Int]()

var nullArr1:[String] = []

var nullArr2:Array<Float> = []

//初始化指定数的指定个数

var nullArr3 = [Int](count: 0, repeatedValue: 10)


//直接初始化

var nullArr4 = ["1", "2"]


//print(nullArr)

//print(nullArr1)

//print(nullArr2)

print(nullArr3)


//赋值

nullArr = [1, 2, 3]

nullArr1 = ["one", "two", "three"]

nullArr2 = [1.1, 2.2, 3.3]

//print(nullArr)

//print(nullArr1)

//print(nullArr2)


//数组的操作 ********

//1 -

nullArr1.insert("four", atIndex: nullArr1.count)//插入指定位置

print(nullArr1)


nullArr1.append("five")//追加在数组尾部

print(nullArr1)


nullArr1 += ["six"]//赋值追加至尾部,也可多个元素

print(nullArr1)


//1.1 - 数组的加法

//let tempArr = ["x", "y", "z"]

//nullArr1 = nullArr1 + tempArr

//print(nullArr1)


//1.2 - 根据区间赋值

//在数组个数范围内:

//多则追加在后面

//少则删除对应的原数组的元素

//正常情况,在范围内,,区间的步长对应个数的 元素


//三种特殊情况

//nullArr1[0...2] = ["6", "7"] //>

//print(nullArr1)

//nullArr1[0...1] = ["6", "7", "8"] //<

//print(nullArr1)

//nullArr1[1...2] = ["6", "7", "8"];

//print(nullArr1)


//2 -

//nullArr1.removeAtIndex(0)//删除置顶位置的元素

//print(nullArr1)

//nullArr1.removeLast()//删除最后元素

//print(nullArr1)


//3 -

nullArr1[2] = "2"

print(nullArr1)


//4 -

//var char = nullArr1[3]

//print(char)


//5 - 判断数组是否为空

if nullArr1.isEmpty {

    print("没有元素")

}else {

    print(nullArr1)

}


print("------------------")

//6 - 枚举数组中的元素

for str in nullArr1 {

    print(str)

}

print("------------------")

for i in 0 ..< nullArr1.count {

    print(nullArr1[i])

}

print("------------------")

//同时获取下标和元素

for (index, value) in EnumerateSequence(nullArr1) {

    print("\(index) = \(value)")

}


*/


//复习

//数组的声明

var myArr11:[String]

var myArr22:Array<Int>


//数组的初始化

var myArr33:[Int] = []

var myArr44:Array<String> = []

var myArr55 = [Float]()

var myArr66 = [Double](count:3, repeatedValue:10)


print("-----------------------------------")

/*-2-**********字典**********/

//字典的声明

var dict:[String:String]

var dict1:Dictionary<Int,Int>


//直接初始化

var dict2 = ["name":"xxz","sex":"boy"];

print(dict2)


//直接清空

dict2 = [:] //[:] 表示空字典

print(dict2)


//但初始化时,不能直接用[:],否则默认为NSDictionary

var dic = [:]; print(dic)

dic = ["name":"xxz","info":"info"];print(dic)


//字典的赋值

dict = ["name":"xxz","age":"25"]

dict1 = [1:12,2:23]


//字典的个数

let index = dict.count;print(index)


//字典的初始化 =>创建空的字典 ****

var nullDict = [String:String]()

var nullDict1 = Dictionary<String,String>()

//print(nullDict) //[:] 表示空字典

//print(nullDict1)


//字典的操作 ********

//

//直接根据名字赋值,,若有key直接更新,若没有key,直接添加

nullDict["name"] ="xxz"

print(nullDict)


//更新,,若有key直接更新,若没有key,直接添加

nullDict.updateValue("25", forKey:"age")

print(nullDict)


//删除

//nullDict["age"] = nil//将指定的keynil=>没有值,OCnil=>指值为空

//print(nullDict)

//nullDict.removeValueForKey("name")//移除指定的key

//print(nullDict)


//

//1

let age = nullDict.indexForKey("age")

print("age =\(age)")//


//2

var name = nullDict["age"]

print(name!)//String   

//or

var name1 = nullDict["age"]!

print(name1)//String


//

//若是数字组成的字符串 => Int

//否则, ? 直接没有值nil, !直接报错

let value11:Int! =Int(nullDict["age"]!)

print(value11)//Int


//获取字典的所有keyvalue,转换成数组

var keysArr = Array(nullDict.keys);

var valuesArr = [String](nullDict.values)

print("keysArr =\(keysArr)")

print("valuesArr =\(valuesArr)")


if nullDict.isEmpty {

    print("字典为空")

}else {

    print("字典不为空")

}


print("-------------------------")

//遍历

//1 同时获取keyvalue

for (key, value) innullDict {

    print("\(key):\(value)")

}

print("-------------------------")

//2 只获取key

for key in nullDict.keys {

    print("key = \(key)")

    

    if key == "age" {//根据key取值

        var age = Int(nullDict[key]!)//转换成Int //or

//        var age:Int! = Int(nullDict[key]!)

        var myAge = age!+10//若进行操作必须加!,或者声明时加上!

        print("myAge =\(myAge)")

    }

}

print("-------------------------")

//3 只获取value

for value innullDict.values {

    print("value =\(value)")

}

print("-------------------------")

for (index, element) in EnumerateSequence(nullDict) {

    print("\(index):\(element)")

}

print("-------------------------")






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值