OC 學習 陣列,字典,集合

2021-06-19 13:54:11 字數 2995 閱讀 9068

//

// main.m

// oc_學習_陣列等等

//// created by binmac on 13-12-6.

//#import int main(int argc, const char * argv)

//上面的方法效率很低

for (nsstring *str3 in marray3)

// for in實際上是快速列舉,跟for迴圈意義上還是有區別的。

// nsarray的列舉操作中有一條需要注意:對於可變陣列進行列舉操作時,你不能通過新增或刪除物件這類操作來改變陣列容器。如果你這麼做了,列舉器會很困惑,而你將得到未定義的結果。

//字典

//字典是以鍵值對的形式存在的,並且鍵值是成對出現的,不會單獨只有鍵或只有值(字典的列印使用{},表示的)

//初始化乙個字典

nsdictionary *dic1 = [nsdictionary dictionarywithobjectsandkeys:@"a",@"k1",@"b",@"k2",@"c",@"k3", nil];

nslog(@"dic1 = %@",dic1);//必須成對初始化

//輸出字典的數量

nslog(@"這個字典的數量 = %lu",[dic1 count]);//%ld 也可以輸出

//獲取全部的key和object

nsarray *keyarray=[dic1 allkeys];

nsarray *valuearray=[dic1 allvalues];

nslog(@"keyarray=%@,valuearray=%@",keyarray,valuearray);

//可變字典

nsmutabledictionary *mdic=[[nsmutabledictionary alloc]initwithobjectsandkeys:@"iphone",@"k1",@"ipad",@"k2",@"pro",@"k3",@"ari",@"k4", nil];

nslog(@"mdic=%@",mdic);

//把乙個字典新增到另外乙個字典後面

nsdictionary *dic4=[nsdictionary dictionarywithobject:@"mini" forkey:@"k5"];

//可變字典的追加

[mdic addentriesfromdictionary:dic4];

//直接新增鍵值對

[mdic setvalue:@"ipod" forkey:@"k6"];

//通過key刪除指定的value

[mdic removeobjectforkey:@"k6"];

//刪除所有

// [mdic removeallobjects];

// nslog(@"mdic=%@",mdic);

//批量刪除乙個字典內容

nsarray *arrayk=[nsarray arraywithobjects:@"k3",@"k4",@"k5", nil];

[mdic removeobjectsforkeys:arrayk];

nslog(@"mdic=%@",mdic);

//----字典的遍歷-----//從後面開始遍歷

for (id key in mdic)

//nsset集合

//nsset集合跟陣列差不多,只不過集合中不能存放相同的物件.是一組單值物件的集合,並且被存入集 中的元素是無序的,同樣也有nsmutableset和nsset;

nsset *set1 = [[nsset alloc] initwithobjects:@"aaa",@"bbb",@"ccc", nil];

nsset *set2 = [[nsset alloc] initwithobjects:@"aaa",@"bbb", nil];

nslog(@"set1 = %@",set1);//列印形式set =

//判斷乙個集合時候包含某個元素

bool iscontain1 = [set1 containsobject:@"aaa"];

nslog(@"iscontain1 = %d",iscontain1);

//判斷集合是否有交集

bool isintersert = [set1 intersectsset:set2];

nslog(@"isintersert = %d",isintersert);

//判斷集合中得元素是否一樣

bool isequal = [set2 isequaltoset:set1];

nslog(@"isequal = %d",isequal);

//判斷set1是否為set2的子集

bool issubset = [set2 issubsetofset:set1];

nslog(@"issubset = %d",issubset);

//向乙個集合中追加乙個元素

nsset *set3 = [set1 setbyaddingobject:@"ddd"];

nslog(@"set3 = %@",set3);

nsmutableset *set4 = [nsmutableset setwithobjects:@"1",@"2", nil];

nsmutableset *set5 = [nsmutableset setwithobjects:@"1",@"3", nil];

[set4 intersectset:set5];//並集 set4 =

nslog(@"set4 = %@",set4);

[set4 unionset:set5];

nslog(@"set4 = %@",set4);

//[set4 minusset:set5];//set4將去除set5中相同的元素

//nslog(@"set4 = %@",set4);

return 0;

}

oc 字典集合簡單使用

字典類用於存放具有對映關係的資料 kay是唯一的 value是物件 無序存放 nsdictionary 1 以鍵值對的形式進行儲存 即 kay value 2 字典靠key找到相應的value物件 key不能重複 但是value可以重複 3 字典無序存放 例項化不可變的字典物件 nsdictiona...

OC建立字典,陣列

4 建立大量字典 傳入兩個陣列,key和obj,陣列元素個數未知。建立大量字典,字典的個數與key和obj中元素較少的乙個陣列的元素個數相同。key中第i個元素和obj中第i個元素組成鍵值對。所有字典新增到乙個可變陣列中,返回陣列的位址。nsarray createdictionarieswithk...

陣列,字典,集合

1.nsstring 初始化方法 nsstring initwithformat d,a,b int a 1000 nsstring str1 nsstring alloc initwithformat zhangsan d a nsstring stringwithformat nsstring ...