//
// main.m
// OC05 集合
//
// Created by xalo on 15/10/30.
// Copyright (c) 2015年 康大亮. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
#pragma mark -NSSet集合类(使用不多)
#pragma mark --创建一个集合对象
NSSet *set1 = [NSSet setWithObjects:@"2", @"4", @"3", @"人", @"1", nil];
// 因为有两个相同的对象,所以集合在存储时,只存储一个
NSLog(@"%@", set1);
#pragma mark --获取集合中元素的个数
int count = (int)[set1 count];
NSLog(@"%d", count);
#pragma mark --获取集合中全部的元素
NSArray *array = [set1 allObjects];
NSLog(@"%@", array);
#pragma mark --随机获取集合中的某个元素
id item = [set1 anyObject];
NSLog(@"%@", item);
#pragma mark --判断一个集合和另一个集合是否相等
NSSet *set2 = [NSSet setWithObjects:@"3", @"2", @"1", @"人", @"4", nil];
BOOL boolResult = [set1 isEqualToSet:set2]; // set1比较set1里面有的set2里有没有。
NSLog(@"%d", boolResult);
#pragma mark --判断某个集合中是否包含某个对象
id result = [set2 member:@"9"];
NSLog(@"%@", result);
#pragma mark -可变集合NSMutableSet
// 创建一个可变集合的对象,对可变集合进行操作
NSMutableSet *mSet = [NSMutableSet setWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
NSLog(@"%@", mSet);
#pragma mark --给可变集合 添加 一个元素
[mSet addObject:@"8"];
NSLog(@"%@", mSet);
#pragma mark --删除 一个元素
[mSet removeObject:@"8"];
NSLog(@"%@", mSet);
#pragma mark --删除 全部元素
[mSet removeAllObjects];
NSLog(@"%@", mSet);
#pragma mark --NSCountedSet记录元素的重复次数
NSCountedSet *cSet = [NSCountedSet setWithObjects:@"1",@"2",@"3",@"4",@"4", nil];
int count1 = (int)[cSet countForObject:@"4"];
NSLog(@"%d, %@", count1, cSet);
return 0;
}