天天看点

OC05 集合

//

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

}