//
// 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;
}