陣列 字典 set集合介紹

2021-07-05 03:00:50 字數 2055 閱讀 9851

//字典的遍歷

nsdictionary* dict=[nsdictionary dictionarywithobjectsandkeys:@"第乙個學生",@"first",@"第二個學生",@"second", nil];

nsarray* keys=[dict allkeys];

id key,value;

for (int i=0; i<[keys count]; i++)

//set集合(nsset,不可變)nsset 和 nsmutableset 是儲存無序物件的集合類; nsset集合跟陣列差不多,但set集合不能存放相同的物件,它是一組單值物件的集合,被存放對進集合中得資料的無序的。

/***********基本用法*************/

nsset *set1 = [[nsset alloc] initwithobjects:@"one",@"two",@"three",@"four",@"five",@"six", nil];//第一種構建方式

nsarray *array = [nsarray arraywithobjects:@"1",@"2",@"3",@"4",@"one", nil];

nsset *set2 = [[nsset alloc] initwitharray:array]; //第二種構建方式:通過陣列構建集合

nsset *set3 = [[nsset alloc] initwithset:set2];//通過已有集合構建集合

//1.集合中物件的個數

nsinteger count = [set3 count];

//2.以陣列的形式返回集合中所有的物件

nsarray *allobjects = [set3 allobjects];

//3.返回集合中的任意乙個物件

id object = [set3 anyobject];

//4.判斷兩個集合的元素中有包含的物件,包含返回yes,否則為no

bool iscontain = [set2 containsobject:@"2"];

//5.判斷兩個集合的元素是否 有相等的物件,存在返回yes,否則為no

bool isintersect = [set2 intersectsset:set1];

//6.判斷兩個集合的元素是否完全匹配,匹配返回yes,否則為no

bool isequal = [set1 isequaltoset:set2];

//7.集合4是否是集合5的子集合,如果是返回yes,否則為no

bool issubset = [set2 issubsetofset:set1];

nslog(@"1=%ld、2=%@、3=%@、4=%d、5=%d、6=%d、7=%d",count,allobjects,object,iscontain,isintersect,isequal,issubset);

//可變集合nsmutableset

nsmutableset *set11 = [nsmutableset set];

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

nsmutableset *set13 = [nsmutableset setwithobjects:@"a",@"2",nil];

//8.集合12減去集合13中的元素,集合2最後元素只有1個

[set12 minusset:set13];

//9.集合2與集合3中元素的交集,集合2最後元素只有1個

[set12 intersectset:set13];

//10.集合2與集合3中的元素的並集,集合2最後元素只有3個

[set12 unionset:set13];

//11.將空集合1設定為集合3中的內容

[set11 setset:set13];

//12.根據陣列的內容刪除集合中的物件

[set12 addobjectsfromarray:array];

[set12 removeobject:@"1"];

nslog(@"%@",set12);

集合set,字典dict

特點 無序,自動去重 setvar print setvar type setvar 獲取集合中的元素可以麼?不可以 res setvar 0 error print res 修改集合中的元素麼?不可以 setvar 0 abc errorsetvar print setvar setvar set...

陣列,字典,集合

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

Python 基礎檢索,字典,集合set

1.建立乙個列表,把列表裡的下表為3或者3的倍數刪除掉並迴圈刪除剩餘乙個值 count int input 請輸入乙個整數字 dui for num in range 1,count 1 print dui 經過程式設計實現後輸出 n 0while true if len dui 1 break n...