//===============================数组 Array===================================
//在Swift中,数组中存放的元素的数据类型必须是一样的,而且可以存放基本数据类型。也可以存放类的对象。
var list = [12,14,17]; //自动识别出存放的是int类型的数据
var list2 :[Int];
list2 = [] ; //但是没有初始化,所以不能使用
var list3 = [Int](); //简便语法声明
var list4 = Array <Int> (); //标准语法声明数组
/*
使用一个数组,有两个前提:
【1】 需要对数组进行初始化在初始化时可以赋值元素。也可以直接用[]表示一个空数据
【2】 必须制定元素类型。可以显式地制定也可以通过初始化,让编译器识别出类型。
*/
//构造方法 count数量,repeatedValue每个元素的值
var listG = [Int] (count: 5, repeatedValue: 4);
for n in listG{
println(n);
}
//类型识别
var listH = Array (count: 3, repeatedValue: "swift");
for m in listH{
println(m)
}
//数组元素的访问和修改
var arr1 = ["hello","world"];
println(arr1[0]);
//获取数组属性
println(arr1.count);
//判断数组是否为空
var listL :[String] = [];
if listL.count == 0{
println("数组是空的");
}
if listL.isEmpty {
println("数组是空的");
}
//修改数组的元素
var listZ = ["欢迎","学习","开发"];
listZ[2] = "doubi";
println(listZ);
listZ[0...2] = ["one","two"];
println(listZ);
//数组的遍历
//for循环
for (var i=0 ; i < listZ.count ; i++){
println(listZ[i]);
}
//for-in 循环
for str in listZ {
println(str);
}
//for循环+元祖
for (index,str) in enumerate(listZ) {
println("\(index) : \(str)") ;
}
//数组元素的插入和删除
listZ.append("插入");
listZ += ["插入2"];
println(listZ);
listZ.insert("指定位置", atIndex: 0);
println(listZ);
//删除
listZ.removeAtIndex(0);
println(listZ);
listZ.removeLast();
println(listZ);