您的位置:首页 > 移动开发 > Swift

Swift 数组,字典

2016-03-15 12:10 483 查看
Swift 语言提供
Arrays
Sets
Dictionaries
三种基本的集合类型用来存储集合数据。数组(Arrays)是有序数据的集。集合(Sets)是无序无重复数据的集。字典(Dictionaries)是无序的键值对的集



可变数组

// 第一种方式
var someArray = [Int]()
// 第二种方式
/**
*  element: 是一个泛型参数 可以使Int, String等等类型 泛型的概念我以前提到过, 如不了解可查我的博客和相关说明
*  count  : 这个参数 我理解给0就行
*/
// 如果像我这样写 , 给了8这个参数, 如果往数组追加元素那么就是从 第九个元素开始
var someArray1 = Array(repeatElement(0, count: 8))


不可变数组

let genders = ["male", "female"]


数组元素的个数和访问数组元素

print("numbers 数组的长度: \(numbers.count) 数组的第一个值:\(numbers[0])")


追加数组元素

numbers.append(6)
print("numbers 数组的长度: \(numbers.count) 数组的第一个值:\(numbers[5])")// 6 6
// 使用加法赋值运算符(+=) 也可以在数组后面添加数组
genders1+=["ios"]
print("numbers 数组:\(genders1)") // 运行结果 : numbers 数组:["boy", "girl", "ios"]


在某个位置插入元素, Swift 点语法

genders1.insert("Objective-C", atIndex: 2)
print("numbers 数组:\(genders1)") // 运行结果 : numbers 数组:["boy", "girl", "Objective-C", "ios"]


删除元素

genders1.removeAtIndex(2)
print("numbers 数组:\(genders1)") // 运行结果 : numbers 数组:["boy", "girl", "ios"]


判断数组是否为空

if genders1.isEmpty{
print("null")
}


遍历数组

// 通过index取值
// index 从 1 开始
for index in 1...someArray1.count {
print("value = \(someArray1[index - 1])")
}
// 直接取值
for value in someArray1 {
print("\(value)")
}
// 使用enumerate()方法来进行数组遍历, 返回的是一个包含index 和 value的元组
for (index, value) in someArray1.enumerated() {
// index 从 0 开始
print("index = \(index) value = \(value)")
}


字典的定义

var dic = ["ios":"swfit", "coder":"I"]


字典访问 键对应的值

let name = dic["ios"]
print(name) // Optional("swfit")


添加

dic ["boy"] = "Zhang"
print(dic)  // ["boy": "Zhang", "coder": "I", "ios": "swfit"]


删除

dic.removeValueForKey("boy")
print(dic)  // ["coder": "I", "ios": "swfit"]


修改

dic.updateValue("Student", forKey: "coder")
print(dic)  // ["coder": "Student", "ios": "swfit"]


遍历字典

for (key, value) in dic{
print("key:\(key) value:\(value)")
}
//或者
for d in dic{
print("key1:\(d.0) value1:\(d.1)")
}


单独遍历key 和 value

for key in dic.keys{
print("Key= \(key)")
}
for value in dic.values{
print("value= \(value)")
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: