NSArray 用于对象有序集合(相当于是数组)
NSSet 用于对象无序集合
NSDictionary 用于键值映射 以上三种集合类是不可变的(一旦初始化后,不能再动态的增加或删除元素),如果需要用到可变集合,则需要用到下面几个类:
NSMutableArray
NSMutableSet
NSMutableDictionary
实例DEMO:
1:NSArray 初始化和遍历迭代
(1)NSArray的初始化 NSArray的便利初始化函数: -(id) initWithObjects : (id) firstObject, ....; NSArray的便利构造器: +(id) arrayWithObjects: (id) firstObject, ...; demo: //NSArray的便利初始化 NSArray *array1 = [[NSArray alloc] initWithObjects:@"aaa", @"bbb", @"ccc", nil]; //NSArray的便利构造器 NSArray *array2 = [NSArray arrayWithObjects:@"111", @"222", @"333", nil]; (2)获取数组元素的个数和数组的元素 //获取数组元素的个数和元素 int count = (int)[array1 count]; //获取相应索引的元素 id element = [array1 objectAtIndex:0]; NSLog(@"array1_count = %d, array[0] = %@", count, element); (3)迭代: //封装遍历数组的函数 void array_display(id array) { for (int i = 0 ; i < [array count]; i++) { id temp = [array objectAtIndex:i]; NSLog(@"%@", temp); } }
2:NSMutableArray初始化和遍历迭代
2.可变数组:NSMutableArray NSArray的容量是固定的,而NSMutableArray的容量是可变的,我们可以在NSMutableArray实例化的时候先初始化一个容量,不过这个容量不是固定的,不够的时候会自动增加。NSMutableArray是NSArray的子类,是对NSArray的一个扩充。 (1) NSMutableArray的初始化 NSMutableArray的便利初始化函数:-(id) initWithCapacity : (NSUInteger) numItems; NSMutableArray的便利构造器:+(id) arrayWithCapacity: (NSUInteger) numItems; demo: //NSMutableArray的便利初始化 NSMutableArray *array3 = [[NSMutableArray alloc] initWithCapacity:3]; //NSMutableArray的便利构造器 NSMutableArray *array4 = [NSMutableArray arrayWithCapacity:3]; (2)元素的添加和删除 增加元素: -(void) addObject: (id) anObject; --往数组的尾部添加元素 删除全部内容: -(void) removeAllObjects; 删除最后一个元素: -(void) removeLastObject; 通过索引删除元素: -(void) removeObjectAtIndex: (NSUInteger) index; 删除任意一个元素: -(void) removeObject : (id)object; demo: //初始化NSMutableArray NSMutableArray *array = [NSMutableArray arrayWithObjects:@"111", @"222", @"333", nil]; //添加元素 [array addObject:@"444"]; //移除元素 [array removeObject:@"111"]; //移除最后一个元素 [array removeLastObject]; //按照索引删除元素 [array removeObjectAtIndex:0]; array_display(array); 删除任意一个元素: -(void) removeObject : (id)object; //初始化NSMutableArray NSMutableArray *array = [NSMutableArray arrayWithObjects:@"111", @"222", @"333", nil]; //添加元素 [array addObject:@"444"]; //移除元素 [array removeObject:@"111"]; //移除最后一个元素 [array removeLastObject]; //按照索引删除元素 [array removeObjectAtIndex:0]; array_display(array);
时间: 2024-10-10 19:58:26