本文共 1748 字,大约阅读时间需要 5 分钟。
//// main.m NSSet集合//// Created by MAC on 15/12/15.// Copyright © 2015年 MAC. All rights reserved.////#import // 无序集合,效率较高且无法索引int main(int argc, const char * argv[]) { @autoreleasepool { // 无序集合,效率较高且无法索引 NSArray *array = @[@"one", @"two", @"three", @"three", @"four", @"five"]; NSLog(@"%@", array); // 初始化集合 NSSet *set = [NSSet setWithArray:array]; NSLog(@"%@", set); // 可以赋值初始化 NSSet *set1 = [NSSet setWithObjects:@"1", @"one", @"2", @"2", @"3", @"4", array, nil]; NSSet *set2 = [NSSet setWithObjects:@"1", @"one", @"2", @"2", @"3", @"4", nil]; NSLog(@"%@", set1); // 从另一个集合中初始化 NSSet *set3 = [NSSet setWithSet:set1]; NSLog(@"%@", set3); // 获取集合大小(不包括重复元素) NSUInteger count = [set count]; NSLog(@"%lu", count); // 枚举集合中的元素 NSEnumerator *e = [set objectEnumerator]; NSString *s; while ((s = [e nextObject]) != nil) { NSLog(@"%@", s); } NSLog(@"------"); // 判断某个对象是否是集合成员 id a = [set member:@"one"]; NSLog(@"%@", a); // 判断集合是否包含某个成员 BOOL r = [set containsObject:@"one"]; NSLog(@"%d", r); // 将集合转换为数组 NSArray *array1 = set.allObjects; NSLog(@"%@", array1); // 获取集合中的任意一个对象 id aa = [set anyObject]; NSLog(@"%@", aa); // 判断两个集合是否相等 r = [set isEqualToSet:set1]; NSLog(@"%@", r ? @"YES" : @"NO"); // 判断两个集合的交集 r = [set intersectsSet:set1]; NSLog(@"%d", r); // 判断一个集合是否是另一个的子集 r = [set2 isSubsetOfSet:set1]; NSLog(@"%d", r); } return 0;} 转载地址:http://brjfk.baihongyu.com/