//
// 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 ...