码迷,mamicode.com
首页 > 其他好文 > 详细

【学习笔记】【Foundation】集合Set

时间:2015-06-08 14:51:29      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:

不可变集合 NSSet

:集合元素无顺序,没有索引号,元素不可重复。 

NSSet在功能上可看做是NSArray的父集,它是一个更通用的类。

NSSet包含如下常用方法:

setByAddingObject:

setByAddingObjectFromArray:

setByAddingObjectFromSet:

allObject:返回集合中所有元素组成的NSArray

anyObject:返回该集合的某个元素

containsObject:

member:

objectsPassingTest:

objectsWithOptions:passingTest:

isSubsetOfSet:

intersectsSet:

isEqualToSet:

NSSet底层判断元素重复的标准:

1.调用元素的hash方法来获得该对象的hashCode值,判断是否相等,如果相等,则放在相同的存储位置,且继续判断isEqual是否相同;

2.判断isEqual是否相同,如果不同则存放在hash表中的同一位置,并形成链。如果相同,则表示为同一元素,添加失败。

可变集合:NSMuableSet:

创建NSMutableSet集合时可指定底层Hash表的初始容量:

NSMutableSet* set=[NSMutableSet setWithCapacity:10];

增加了添加,删除元素的方法,并可以计算并集,交集,差集:

addObject:

removeObject:

removeAllObjects:

addObjectsFromArray:

unionSet:

minusSet:

intersectSet:

setSet:用后一个集合的元素替换已有集合中的元素

 

NSCountedSet:

每次添加同个元素一次,该元素的添加次数加1,只有该元素的添加次数为0时,这个元素才会被删除;

countForObject:获取指定元素的添加次数

 

有序集合:NSOrderedSet,NSMutableOrderedSet

 

【学习笔记】【Foundation】集合Set

标签:

原文地址:http://www.cnblogs.com/stxrong/p/4560730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!