//
// main.m
// NSSet集合
//
// Created by MAC on 15/12/15.
// Copyright © 2015年 MAC. All rights reserved.
//
#import <Foundation/Foundation.h>
//1.不能重复
//2.无序的
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);
//可以用另外一个set
NSSet *set3 = [NSSet setWithSet:set1];
NSLog(@"%@",set3);
//获得set集合的大小 不包括重复元素
NSUInteger count = [set count];
NSLog(@"%lu",count);
//枚举
NSEnumerator *e = [set objectEnumerator];
NSString *s;
while ((s=[e nextObject])!=nil) {
NSLog(@"%@",s);
}
NSLog(@"------");
// 判断某个对象是否是set成员 没有则为null
id a = [set member:@"one"];
NSLog(@"%@",a);
//判断集合里面是否包含某个成员 返回值BOOL
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==1?@"YES":@"NO");
//判断两个set集合是否有交集
r = [set intersectsSet:set1];
NSLog(@"%d",r);
//判断一个set是否是另外一个子集
r = [set2 isSubsetOfSet:set1];
NSLog(@"%d",r);
}
return 0;
}