1、集合:集合(nsset)和陣列(nsarray)有相似之處,都是儲存不同的物件的位址;不過nsarray是有序的集合,nsset是無序的集合。
集合是一種雜湊表,運用雜湊演算法,查詢集合中的元素比陣列速度更快,但是它沒有順序。
1 nsset * set = [[nsset alloc] initwithobjects:@"判斷集合中是否擁有某個元素one",@"
two",@"
three
",@"
four
", nil];
2 [set count]; //
返回集合中物件的個數
1判斷兩個集合是否相等//判斷集合中是否擁有@「two」
2 bool ret = [set containsobject:@"
two"];
1 nsset * set2 = [[nsset alloc] initwithobjects:@"判斷set是否是set2的子集合one",@"
two",@"
three
",@"
four
", nil];2//
判斷兩個集合是否相等
3 bool ret = [set isequaltoset:set2];
1 nsset * set2 = [[nsset alloc] initwithobjects:@"集合也可以用列舉器來遍歷one",@"
two",@"
three
",@"
four
",@"
five
", nil];2//
判斷set是否是set2的子集合
3 bool ret = [set issubsetofset:set2];
1通過陣列來初始化集合(陣列轉換為集合)//集合也可以用列舉器來遍歷
2 nsenumerator * enumerator = [set
objectenumerator];
3 nsstring *str;
4while (str =[enumerator nextobject])
1 nsarray * array = [[nsarray alloc] initwithobjects:@"集合轉換為陣列one",@"
two",@"
three
",@"
four
", nil];
2 nsset * set = [[nsset alloc] initwitharray:array];
1 nsarray * array2 = [set allobjects];2、可變集合nsmutableset
1刪除元素//可變集合nsmutableset
2 nsmutableset * set =[[nsmutableset alloc] init];
3 [set addobject:@"
one"
];4 [set addobject:@"
two"
];5 [set addobject:@"
two"]; //
如果新增的元素有重複,實際只保留乙個
1將set2中的元素新增到set中來,如果有重複,只保留乙個//刪除元素
2 [set removeobject:@"
two"
];3 [set removeallobjects];
1刪除set中與set2相同的元素//將set2中的元素新增到set中來,如果有重複,只保留乙個
2 nsset * set2 = [[nsset alloc] initwithobjects:@"
two",@"
three
",@"
four
", nil];
3 [set unionset:set2];
1 [set minusset:set2];3、指數集合(索引集合)nsindexset
1根據集合提取陣列中指定位置的元素//指數集合(索引集合)nsindexset
2 nsindexset * indexset = [[nsindexset alloc] initwithindexesinrange:nsmakerange(1, 3)]; //
集合中的數字是123
14、可變指數集合nsmutableindexset//根據集合提取陣列中指定位置的元素
2 nsarray * array = [[nsarray alloc] initwithobjects:@"
one",@"
two",@"
three
",@"
four
", nil];
3 nsarray * newarray = [array objectsatindexes:indexset]; //
返回@"two",@"three",@"four"
1 nsmutableindexset *indexset =[[nsmutableindexset alloc] init];2 [indexset addindex:0
]3 [indexset addindex:3
];4 [indexset addindex:5];5
//通過集合獲取陣列中指定的元素
6 nsarray *array = [[nsarray alloc] initwithobjects:@"
one",@"
two",@"
three
",@"
four
",@"
five
",@"
six"
, nil];
7 nsarray *newarray = [array objectsatindexes:indexset]; //
返回@"one",@"four",@"six"
OC基礎資料型別 NSSet
1 集合 集合 nsset 和陣列 nsarray 有相似之處,都是儲存不同的物件的位址 不過nsarray是有序的集合,nsset是無序的集合。集合是一種雜湊表,運用雜湊演算法,查詢集合中的元素比陣列速度更快,但是它沒有順序。nsset set nsset alloc initwithobject...
OC資料型別
oc是增強了c的特性,所以在變數和基本資料型別上基本與c一致。在oc中變數命名有如下規則 由字母 數字 下劃線 符號組成 必須以字母 下劃線 符號開頭 大小寫敏感 在oc中定義變數的時候不能使用oc的保留字,oc的保留字如下 oc中有如下基本資料型別 int 宣告整型變數 double 宣告雙精度變...
OC 基礎資料型別轉bytes
ios 系統庫提供了簡便的api可以實現基礎資料型別和nsdata的轉化,讀data.bytes可以直接獲取到。以int為例 int convert to nsdata int num 10 nsdata data nsdata datawithbytes num length sizeof num...