10.24 数组,元组
importFoundation
/*
//数组(一些数据的有序集合)Array,分为可变数组和不可变数组
//可变数组可以动态添加元素,删除元素
//swift中的数组可以存放一种,多种数据类型(c语言中的数组只能存放同种数据类型)
//(1)字面量创建一个数组
let numArray = [1,2,3,4,5]
let numArray1 = [1.2,2.3,3.4,4.5]
//表示创建一个空的整形数组
let numArray2:[Int] = [Int]()
//字符串数组
let strArrary:[String] = ["hello","world"]
print(numArray)
print("\n")
print("numArray1 = \(numArray1)\n")
print("dajskf----\(strArrary)\n")
//数组中存放多种数据类型
let arrary = [1,2,5,23.23,"hello"]
let arrary1:[NSObject] = [1,2,5,23.23,"hello"]
//访问数组元素:通过下标
print(arrary1[2])
print("\n")
print(numArray[1])
print("\n")
//数组的容量(数组的元素个数)
let count = arrary1.count
//注意:访问数组的元素不能数组越界
// print(arrary1[6]):Array index out of range
//遍历,支持for循环遍历,同样支持for-in遍历
//for遍历
for var index = 0;index
index++ {
print("for遍历\(numArray[index])\n")
}
//for-in遍历就是遍历这个数组,把数组里面的东西一次给i
for i in numArray1{
print("for-in遍历i = \(i)\n")
}
//建立一个整形数组(10个元素),对整形数组进行for-in遍历,如果元素是偶数的话,就打印出来,并求奇数之和
let nArray = [1,2,3,4,5,6,7,8,9,10]
var sum = 0
for i in nArray{
if(i%2==0){
print("该数为偶数:\(i)\n")
}
else{
sum += i
}
}
print("奇数之和:\(sum)\n")
//另外一种for-in遍历
//([int]does not have a merber names "enumerate")
//for (index,element) in nArray.enumerate{
//print("下标=\(index),对应的元素= \(element)")
//}
*/
//可变数组:[int]表示一个整形数组,后面的()表示初始化
varmArrary = [Int]()//创建了一个空的整形数组
varmStrArrary = ["hello","world"]
//不可变数组中的所有操作(访问某一个元素,数组的元素个数,遍历。。。。)在可变数组中都可以使用,但是可变数组中的特有操作(增加,删除。。)在不可变数组中不可使用
//增加元素:增加的元素必须跟数组中的元素是一样的
//如果数组类型是:[NSObject],可以增加任意类型的元素
mStrArrary.append("123")
mArrary.append(23)
print(mStrArrary)
print("\n")
print(mArrary)
print("\n")
//在指定位置插入元素
mStrArrary.insert("huihui", atIndex:1)
print(mStrArrary)
print("\n")
//获取某一个元素在数组中下标
//[string]does not have a merber names "indexOf"
//let index0 = mStrArrary.indexOf("hello")
//print("Hello的下标--\(index0)")
//删除
//mStrArrary.removeAll()移除数组里面的所有元素并且清空内存
//mStrArrary.removeAll(keepCapacity: true)移除数组里面的所有元素并且决定是否保持数组原有的容量
//removeAtIndex()是移除某一个元素并且将这个元素返回出来
letelementTemp =mStrArrary.removeAtIndex(2)
print("移除了第2个元素的数组\(mStrArrary),被移除的元素是\(elementTemp)\n")
//元组:元组是一种可以自定义特定数据类型的集合
letnum0:(Int,Double) = (1,2.3)
letvalue:(Int,Double,String) = (1,2.3,"23")
//访问数组中的元素.0 .1 .2 ...
letvalueElement0 =value.0
letvalueElement1 =value.1
letvalueElement2 =value.2
print("valueElement0 =\(valueElement0)\n")
print("valueElement1 =\(valueElement1)\n")
print("valueElement2 =\(valueElement2)\n")