ios笔记-NSSet

//
//  main.m
//  NSSet
//
//  Created by Passer-by on 15-3-23.
//  Copyright (c) 2015年 MAC. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{

    @autoreleasepool
    {
        /*
         NSSet和NSArray的对比
         1> 共同点
         * 都是集合,都能存放多个OC对象
         * 只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)
         * 本身都不可变,都有一个可变的子类
         
         2> 不同点
         * NSArray有顺序,NSSet没有顺序
         */
        
        NSSet *set1 = [NSSet setWithObjects:@"a", @"b", @"c", @"d", nil];
        NSSet *set2 = [[NSSet alloc] initWithObjects:@"1", @"2", @"3", nil];
        NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];
        NSSet *set3 = [NSSet setWithArray:array];
        
        NSLog(@"set1 :%@", set1);
        NSLog(@"set2 :%@", set2);
        NSLog(@"set3 :%@", set3);
        
        //获取集合个数
        NSLog(@"set1 count :%d", set1.count);
        
        //以数组的形式获取集合中的所有对象
        NSArray *allObj = [set2 allObjects];
        NSLog(@"allObj :%@", allObj);
        
        //获取任意一对象
        NSLog(@"anyObj :%@", [set3 anyObject]);
        
        //是否包含某个对象
        NSLog(@"contains :%d", [set3 containsObject:@"obj2"]);
        
        
        //是否包含指定set中的对象
        NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]);
        
        //是否完全匹配
        NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]);
        
        //是否是子集合
        NSLog(@"isSubSet :%d", [set3 isSubsetOfSet:set1]);
        
        
        
        NSSet *set4 = [NSSet setWithObjects:@"a", @"b", nil];
        NSArray *ary = [NSArray arrayWithObjects:@"1", @"2", @"3", @"4", nil];
        NSSet *set5 = [set4 setByAddingObjectsFromArray:ary];
        NSLog(@"addFromArray :%@", set5);
        
        
        
        
        NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@"1", @"2", @"3", nil];
        NSMutableSet *mutableSet2 = [NSMutableSet setWithObjects:@"a", @"2", @"b", nil];
        NSMutableSet *mutableSet3 = [NSMutableSet setWithObjects:@"1", @"c", @"b", nil];
        
        //集合元素相减
        [mutableSet1 minusSet:mutableSet2];
        NSLog(@"minus :%@", mutableSet1);
        
        //只留下相等元素
        [mutableSet1 intersectSet:mutableSet3];
        NSLog(@"intersect :%@", mutableSet1);
        
        //合并集合
        [mutableSet2 unionSet:mutableSet3];
        NSLog(@"union :%@", mutableSet2);
        
        //删除指定元素
        [mutableSet2 removeObject:@"a"];
        NSLog(@"removeObj :%@", mutableSet2);
        
        
        //删除所有数据
        [mutableSet2 removeAllObjects];
        NSLog(@"removeAll :%@", mutableSet2);
        
    }
    return 0;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。