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

原创 2015年11月20日 11:00:22

//: 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("-------------------------")






版权声明:转发请注明原文出处, 谢谢!

Swift学习之十一:数组与字典(Array and Dictionary are collection types)

[objc] view plaincopyprint? /* Swift 提供了两种集合类型,即数组(Array)和字典(Dictionary),存储值的集合    数组存储相同类型的顺...

swift学习笔记(一)(常量、变量、数据类型、字符串的拼接、数组、字典)

import Foundation print("wangshuai") // 1.var 变量 // 当指定一个变量的时候就不可以再指定了,比如 var a = 1 虽然修饰的a可...
  • iOS_Pop
  • iOS_Pop
  • 2016年01月22日 16:59
  • 1091

Swift 学习笔记 2-简单值(变量、常量、数组、字典 )

一、变量      Swift的变量有如下几个特征:      1.var 开头定义变量      2.变量需要赋初值      3.打印时利用 \() 来打印 [ \()表示对()的内容进行计算 ]...
  • catch01
  • catch01
  • 2015年02月01日 13:48
  • 360

swift-学习之路,字典、数组、循环-控制流

swift-学习之路,字典、数组、循环-控制流

swift学习之数组、字典和字符串

数组、字典、字符串都比oc省略了“@”数组var arr:Array = [1,2,3,4] //遍历数组 for number in arr { print(number) } //数组增加...
  • wm9028
  • wm9028
  • 2016年08月24日 15:37
  • 421

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

数组 字典 集合 结构体 枚举

Swift3.0-字符串、数组、字典操作

Swift3.0-字符串、数组、字典操作 import Foundation /* * 1、字符串 */ print("1、字符串") //Swift语言中,字符串中可以加入任何语言文字的字符 ...

Swift 数组、字符串、集合与字典详解

今天我们来看几个最基本的数据结构:数组,字符串,集合和字典。   数组 数组是最基本的数据结构。Swift编程语言(http://www.maiziedu.com/course/16/)中改变了...

swift-for循环遍历,遍历字典,循环生成数组

// Playground - noun: a place where people can play import UIKit //-------------------------------...

swift之数组(Array)、集合(Set)、字典(Dictionary)

swift Array Set Dictionary
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swift 2.0 学习第3天: 字典和数组
举报原因:
原因补充:

(最多只允许输入30个字)