一:數組介紹:數組
一、定義:spa
簡單地說就是元素的集合。OC中數組能夠保存不一樣類型的對象,但只能保存對象。不能保存基本類型,若保存基本數據類型code
(int double float ....),須要轉換成對象(NSString NSNumber...)保存。數組的最後一個元素爲是nil,表示結束。對象
二、分類:three
可變數組 NSMutableArrayrem
不可變數組 NSArray it
(可不可變是指個數能不能改變,數組元素的值仍是能夠改變的)io
二:使用:
for循環
一、初始化:table
NSArray *array = [[NSArray alloc] initWithObjects:@"one",@"two",@"three",@"four", nil]; NSArray *array2 = [NSArray arrayWithObjects:@"1",@"2",@"3", nil]; // 不一樣類型的元素 NSArray *array3 = [NSArray arrayWithObjects:@"1",array,@"2",array2,@"3", nil]; // 經過一個數組,來建立一個數組! NSArray *array4 = [[NSArray alloc] initWithArray:array]; NSArray *array5 = [NSArray arrayWithArray:array];
二、增:
NSArray 不能增長元素
NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"one",@"two", nil]; [array addObject:@"three"]; // 在下標爲1的地方,插入一個元素 [array insertObject:@"five" atIndex:1];
三、刪
NSArray 不能刪除元素
[array removeObjectAtIndex:0]; [array removeObject:@"one"]; [array removeLastObject]; [array removeAllObjects];
四、查
//根據下標 [array objectAtIndex:0]; //是否包含 [array containsObject:@"1"]; //個數 [array count]; //最後一個元素 [array lastObject];
五、改
[array replaceObjectAtIndex:2 withObject:@"one"]; [array exchangeObjectAtIndex:0 withObjectAtIndex:1];
六、遍歷
//方法1 for循環 for (int i = 0; array.count; i++) { NSLog(@"%@",[array objectAtIndex:i]); } //方法2 枚舉 for (<#type *object#> in <#collection#>) { <#statements#> } 例如: for (NSString *str in array) { NSLog(@"%@",str); } //方法3 枚舉器 NSEnumerator *enumerator = [array objectEnumerator]; id obj = nil; while(obj = [enumerator nextObject]){ NSLog(@"obj=%@",obj); } // 建立一個倒序的枚舉器 enumerator = [array reverseObjectEnumerator]; while (obj = [enumerator nextObject]) { NSLog(@"obj = %@",obj); } //方法4 block [array enumeratorObjectsUsingBlock: ^(id obj, NSUInteger index, BOOL *stop){ NSLog(@"%i-%@",index,obj); //若終斷循環 *stop = YES; }];
七、比較
[array isEqualToArray:array1];