常用基础OC 集合
// 2016年07月19日17:50:53 集合
//七、NSSet 集合对象(容器类,)
// 1. 使用类方法创建对象
NSSet *set1 = [NSSet set]; // 创建一个空的集合对象
NSSet *set2 = [NSSet setWithObject:@"abc"];
NSSet *set3 = [NSSet setWithObjects:@"abc", @"aaa", @"bbb", nil];
NSLog(@"%@", set3);
NSArray *array = [NSArray arrayWithObjects:@"a",@"b", @"c", nil];
NSSet *set4 = [NSSet setWithArray:array]; // 使用数组创建
NSLog(@"%@", set4);
NSSet *set5 = [NSSet setWithSet:set4]; // 使用集合创建
NSLog(@"%@", set5);
// 2.使用实例方法创建
NSSet *set6 = [[NSSet alloc] init];
NSLog(@"%@", set6);
NSSet *set7 = [[NSSet alloc] initWithObjects:@"hello", @"hhaa", @"bbjdh", nil];
NSLog(@"%@", set7);
NSSet *set8 = [[NSSet alloc] initWithArray:array];
NSLog(@"%@", set8);
NSSet *set9 = [[NSSet alloc] initWithSet:set7];
NSLog(@"%@", set9);
// 3.返回几个元素个数
NSLog(@"%ld", [set7 count]);
// 4.枚举器访问集合元素
NSEnumerator *enumerator = [set7 objectEnumerator];
NSString *str = nil;
while (str = [enumerator nextObject]) {
NSLog(@"%@", str);
}
// 5.判断两个几个是否有交集
BOOL ifhasIntersection = [set2 intersectsSet:set3];
NSLog(@"%d", ifhasIntersection);
// 6.判断两个集合是否相等
NSLog(@"%d", [set2 isEqualToSet:set3]);
// 7.判断当前集合是否是子集
NSLog(@"%d", [set2 isSubsetOfSet:set3]);
//5.2可变集合 NSMutableSet
// 创建指定元素个数的一个集合对象
NSMutableSet *mutableSet = [NSMutableSet setWithCapacity:4];
[mutableSet addObject:@"aaa"];
NSLog(@"%@", mutableSet);
// 类方法创建可变集合
NSMutableSet *mutableSet1 = [NSMutableSet setWithObjects:@"aaa", @"bbb", @"ccc", nil];
NSMutableSet *mutableSet2 = [NSMutableSet setWithObject:@"aaa"];
// 添加一个对象到集合
[mutableSet2 addObject:@"ddd"];
NSLog(@"%@", mutableSet2);
// 从集合中删除一个对象
[mutableSet2 removeObject:@"ddd"];
NSLog(@"%@", mutableSet2);
// 把数组对象添加到集合对象中
NSArray *arr10 = [NSArray arrayWithObjects:@"eee", @"fff", nil];
[mutableSet1 addObjectsFromArray:arr10];
NSLog(@"%@", mutableSet1);
// 得到两个集合的交集 注意intersectSet和intersectsSet的区别,后者是判断是否有交集的方法, 返回的是bool值
[mutableSet1 intersectSet:mutableSet2];
NSLog(@"%@", mutableSet1);
// 从一个集合中减去另一个集合
[mutableSet1 minusSet:mutableSet2];
NSLog(@"%@", mutableSet1);
// 从一个元素中删除所有元素
[mutableSet2 removeAllObjects];
NSLog(@"%@", mutableSet2);
// 取两个集合的并集
[mutableSet1 unionSet:mutableSet2];
NSLog(@"%@", mutableSet1);
NSLog(@"%@", mutableSet1);
// 设置给集合赋值
[mutableSet1 setSet:mutableSet2];
NSLog(@"%@", mutableSet1);
常用基础OC 集合的更多相关文章
- java基础-Map集合
java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...
- JavaScript基础笔记集合(转)
JavaScript基础笔记集合 JavaScript基础笔记集合 js简介 js是脚本语言.浏览器是逐行的读取代码,而传统编程会在执行前进行编译 js存放的位置 html脚本必须放在&l ...
- 第6节:Java基础 - 三大集合(上)
第6节:Java基础 - 三大集合(上) 本小节是Java基础篇章的第四小节,主要介绍Java中的常用集合知识点,涉及到的内容包括Java中的三大集合的引出,以及HashMap,Hashtable和C ...
- Java基础Collection集合
1.Collection是所有集合的父类,在JDK1.5之后又加入了Iterable超级类(可以不用了解) 2.学习集合从Collection开始,所有集合都继承了他的方法 集合结构如图:
- Android 常用代码大集合 [转]
[Android]调用字符串资源的几种方法 字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...
- JS常用数据校验集合(adding)
常用数据校验集合 var _validator = { MAIL_REGEX: /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,; ...
- HTML常用基础标签
HTML常用基础标签 带有语义的标签 <em> </em> 强调 <strong> </strong> 比em强调级别高 <abbr> &l ...
- Linux常用基础命令整理:关机命令、查看目录下文件命令等
Linux常用基础命令整理:关机命令.查看目录下文件命令等 整理了一些Linux常用基础命令,欢迎指正. 首先记住四个热键,学会这四个键,收益一辈子. Tab按键---命令补齐功能Ctrl+c按键-- ...
- Python3.x:常用基础语法
Python3.x:常用基础语法 1,if else语句: 不执行if内的语句,需要用:pass if i>2: #跳过不执行 pass else: print("i= %s" ...
随机推荐
- ascii文件转为utf-8格式
import codecs import os #格式转换 fhanzi1 = codecs.open(os.path.join(outputpath,"hanzi1.txt"), ...
- 新手接触java
第二个程序,求同时被3,5,7整除
- MFC下无法为空间添加变量解决
许久不用MFC,今天在vs2008下用MFC写个小东西,结果在为控件添加变量的时候,居然无法成功——那个界面显示怪怪的,点击完成提示失败. 还好同事遇到过这个问题,给出链接http://hi.b ...
- [R] 回归拟合
如下示例 > fit <- lm(y~x, data = data01) > summary(fit) Call: lm(formula = data01$P ~ data01$M, ...
- ubuntu14安装java8
http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/
- [windows]快速从ftp下载最新软件包的批处理脚本
背景 由于敏捷开发,快速迭代,我们项目一天会有三个版本,也就意味着我一天要去获取三次软件包.我负责服务端开发,所以我经常需要去拿最新的客户端.我们的客户端放置在一个公共的ftp上面.每天频繁登陆ftp ...
- Microsoft Language and Locale Codes(微软语言和地区代码汇总)
https://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx
- ORA-01653:表空间扩展失败的问题以及增加表空间
一.脚本修改方式: ----查询表空间使用情况---使用DBA权限登陆SELECT UPPER(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB ...
- 基本套接字编程(5) -- epoll篇
1. epoll技术 epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃 ...
- HTTP学习笔记(1)ULR语法
1,概述 当你打开一个浏览器则会进入一个主页,也许你会想只是打开了浏览器罢了,但是浏览器默默的把这个主页默认的网址发送出去,你只是不知道而已,你只是没有输入而已.我们来做个实验. 1,双击打开 2,可 ...