#import <Foundation/Foundation.h>

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

{

@autoreleasepool {

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;

}

Objective-C:NSSet和NSMutbaleSet的用法的更多相关文章

  1. NSSet、NSMutableSet基本用法

    NSSet.NSMutableSet基本用法 在Foundation框架中,提供了NSSet类,它是一组单值对象的集合,且NSSet实例中元素是无序,同一个对象只能保存一个. 一.不可变集合NSSet ...

  2. Objective-C Foundation框架

    1.字符串 OC由两个字符串:NSString和NSMutableString,NSString代表字符序列不可变的字符串,而NSMutableString则代表字符序列可变的字符串. 1.1 创建字 ...

  3. Automake

    Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, document ...

  4. 用法总结:NSArray,NSSet,NSDictionary

    用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...

  5. 用法总结:NSArray,NSSet,NSDictionary-备用

    Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序集合(数组)NSSet 用于对象无序集合      (集合)NS ...

  6. NSArray,NSMutable和NSSet,NSMutableSet和NSDictionary,NSMutableDictionary用法

    开始编写应用程序的代码时,可以利用大量的 Objective-C 框架.其中,为所有应用程序提供基本服务的 Foundation 框架尤为重要.Foundation 框架包括表示基本数据类型的值类(如 ...

  7. NSSet 用法

    //集合NSSet //集合也是储存对象,和字典一样也是无序存储 //集合中里面的元素不能重复 //集合里面的元素可以随机取出 //用数组放到集合中 NSArray *a10 = @[p1 , p2 ...

  8. Objective C (iOS) for Qt C++ Developers(iOS开发,Qt开发人员需要了解什么?)

    Qt/C++开发人员眼中的Obj-C      对于我们第一次自己定义iOS应用来说,对于来自Qt/C++开发人员来说,我不得不学习Objective-C相关语法与知识 为了让读者可以更easy理解这 ...

  9. iOS多线程之8.NSOPeration的其他用法

      本文主要对NSOPeration的一些重点属性和方法做出介绍,以便大家可以更好的使用NSOPeration. 1.添加依赖 - (void)addDependency:(NSOperation * ...

随机推荐

  1. Apache服务器

    Apache服务器 一  简介 1   www:world  wide  web    万维网 http    协议:  超文本传输协议 HTML语言:  超文本标识语言 2   URL:统一资源定位 ...

  2. HDU3664 Permutation Counting

    Permutation Counting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  3. Ubuntu下查看CPU、内存和硬盘详细信息的几个命令

    CPU: 型号:grep "model name" /proc/cpuinfo |awk -F ':' '{print $NF}' 数量:lscpu |grep "CPU ...

  4. [ Openstack ] Openstack-Mitaka 高可用之 Dashboard

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  5. 深入理解Java的注解(Annotation):基本概念(1)

    zz自:http://www.cnblogs.com/peida/archive/2013/04/23/3036035.html 什么是注解(Annotation): Annotation(注解)就是 ...

  6. JS监听页面滚动到底部事件

    废话不说,直接上代码,放心我这个是最好的,直接放到js脚本里,直接生效: $(window).scroll(function(){ var scrollTop = $(this).scrollTop( ...

  7. AC日记——病毒侵袭 hdu 2896

    2896 思路: 好题: 代码: #include <queue> #include <cstdio> #include <cstring> using names ...

  8. WebDriver框架之自动运行失败的case

    大家在运行自动化case的时候都会碰到失败的情况,有的时候可能是被测程序有bug,还有就是网络的问题,如果想采取失败的case再运行一次的机制,那么有bug的情况,即使再运行N次还是失败,那么如果是网 ...

  9. phython正则表达式 Python Re模块

    反斜杠问题 与大多数编程语言相同,正则表达式里使用”\”作为转义字符,这就可能造成反斜杠困扰.假如你需要匹配文本中的字符”\”, Python里的原生字符串很好地解决了这个问题,这个例子中的正则表达式 ...

  10. [jquery] ajax parsererror

    http://stackoverflow.com/questions/5061310/jquery-returning-parsererror-for-ajax-request 方法一: 直接去掉 d ...