标签:
不可变集合 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
标签:
原文地址:http://www.cnblogs.com/stxrong/p/4560730.html