在Objective-C中,常用的集合有NSArray(不可变数组),NSMutableArray(可变数组),NSSet(不可变集合),NSMutableSet(可变集合),NSDictionary(不可变字典)和NSMutableDictionary(可变字典)
1. NSArray和NSMutableArray
NSArray是有序的对象集合,创建后不能修改。NSMutableArray是NSArray的子类,可以在运行时添加和删除元素。
// 创建不可变数组
NSArray *immutableArray = @[@"a", @"b", @"c"];
// 创建可变数组
NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"a", @"b", @"c", nil];
[mutableArray addObject:@"d"]; // 添加元素
2. NSSet和NSMutableSet
NSSet是无序的,包含一组不可重复的对象。NSMutableSet是NSSet的子类,可以在运行时添加和删除元素。
// 创建不可变集合
NSSet *immutableSet = [[NSSet alloc] initWithObjects:@"a", @"b", @"c", nil];
// 创建可变集合
NSMutableSet *mutableSet = [NSMutableSet setWithObjects:@"a", @"b", @"c"];
[mutableSet addObject:@"d"]; // 添加元素
3. NSDictionary和NSMutableDictionary
NSDictionary是键值对的集合,键是唯一的,不可以重复。NSMutableDictionary是NSDictionary的子类,可以在运行时添加和删除键值对。
// 创建不可变字典
NSDictionary *immutableDictionary = @{@"key1": @"value1", @"key2": @"value2"};
// 创建可变字典
NSMutableDictionary *mutableDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"value1", @"key1", @"value2", @"key2", nil];
[mutableDictionary setObject:@"value3" forKey:@"key3"]; // 添加键值对