標籤:
iOS中集合類與數學中的集合一樣,集合中元素必須是唯一的,儲存元素是無序的,儲存元素必須是物件類型.
集合分為不可變集合(NSSet)和可變集合(NSMutableSet)
不可變集合(NSSet)
建立集合對象
1 1 NSSet *set = [NSSet setWithObjects:@"a", @"p", @"p", nil];2 2 NSLog(@"set: %@", set);3 // 擷取集合中元素個數4 3 NSLog(@"count: %ld", set.count);5 // 擷取集合中某個元素6 4 NSLog(@"object: %@", [set anyObject]);
因為集合總元素是唯一的,所以此時列印出的count值是2.
判斷集合中是否包含某個對象
1 if ([set containsObject:@"a"]) {2 NSLog(@"集合中包含該對象");3 } else {4 NSLog(@"集合中不包含該對象");5 }
可變集合(NSMutableSet)
建立集合對象
1 NSMutableSet *mSet = [NSMutableSet set];2 // 添加元素3 [mSet addObject:@"i"];4 [mSet addObject:@"O"];5 [mSet addObject:@"S"];6 NSLog(@"mSet: %@", mSet);
刪除元素
1 // 刪除2 [mSet removeObject:@"i"];3 NSLog(@"mSet: %@", mSet);
計數集合 (NSCountedSet)
NSCountedSet是NSMutableSet的子類,能記錄元素重複的次數,在set的基礎上添加了計數功能.
1 // 建立集合 2 NSCountedSet *cSet = [NSCountedSet set]; 3 // 添加元素 4 [cSet addObject:@"a"]; 5 [cSet addObject: @"p"]; 6 [cSet addObject:@"p"]; 7 NSLog(@"cSet: %@", cSet); 8 NSLog(@"count: %ld", cSet.count); 9 // 元素在集合中被添加的次數10 NSLog(@"count: %ld", [cSet countForObject:@"p"]);
Objective-C中集合類