//去掉数组中重复内容(有序 containsObject)
NSMutableArray *arr = [NSMutableArrayarray];
NSArray*arr1 = @[@"12-11",@"12-11",@"12-11",@"12-10",@"12-12",@"12-13"];
for (int i = 0 ;
i < arr1.count;
i++) {
//判断是否含有
if ([arr containsObject:[arr1 objectAtIndex:i]] == NO){
[arr addObject:[arr1 objectAtIndex:i]];
}
}
NSLog(@"ccc%@",arr);
//利用集合去掉重复性(无序)
NSArray*arr1 = @[@"12-11",@"12-11",@"12-11",@"12-10",@"12-12",@"12-13"];
NSSet *set = [NSSetsetWithArray:arr1];
NSLog(@" %@ ",set);
//有序集合去重复(NSOrderedSet)
NSArray*arr1 = @[@"12-11",@"12-11",@"12-11",@"12-10",@"12-12",@"12-13"];
NSOrderedSet *set = [NSOrderedSet orderedSetWithArray:arr1];
NSLog(@"%@", set);
NSOrderedSet
NSOrderedSet在iOS 5中被引入,看上去它综合了NSArray和NSSet两者的好处,对象查找,对象唯一性,和快速随机访问。
NSOrderedSet有着优秀的API方法,使得它可以很便利的与其他set或者有序set对象合作。合并,交集,差集,就像NSSet支持的那样。它有NSArray中的大多数排序方法,除了比较陈旧的基于函数的排序方法和二分查找。毕竟containsObject:非常快,所以没有必要再用二分查找了。
【数组去掉重复】NSOrderedSet比NSSet和NSArray占用更多的内存,因为它需要一起维护哈希值和索引