NSArray去除重复元素的方法
2016-03-03 10:46
337 查看
NSArray去除重复元素的方法
有时需要将NSArray中去除重复的元素,而存在NSArray中的元素不一定都是NSString类型。今天想了想,加上朋友的帮助,想到两种解决办法,先分述如下。1.利用NSDictionary的AllKeys(AllValues)方法
可以将NSArray中的元素存入一个字典,然后利用AllKeys或者AllValues取得字典的所有键或值,这些键或值都是去重的。
示例代码:
NSArray *arr = @[@111,@222,@111];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
for (NSNumber *number in arr) {
[dict setObject:number forKey:number];
}
NSLog(@"%@",[dict allValues]);
输出结果为:
2013-05-21 12:03:49.449 test1[4377:c07] (
111,
222
)
2.利用NSSet的AllObjects方法
这种方法更快,利用NSSet不会添加重复元素的特性。不过去重的数组没有进行排序,如果需要排序,可以使用NSSortDescriptor类。
示例代码:
NSArray *arr = @[@111,@222,@111];
NSSet *set = [NSSet setWithArray:arr];
NSLog(@"%@",[set allObjects]);
输出结果为:
2013-05-21 12:06:26.508 test1[4547:c07] (
111,
222
)
相关文章推荐
- Android滑动锁屏
- UIStack View如何让你的开发更简单(iOS 9和Xcode 7)
- 俄语版JDK取的时间与系统时间不一致的解决方案
- 在Tiny6410上部署Qt4.7
- 我们的应用系统是如何支撑千万级别用户的
- <php>统计整个文件夹的大小
- <php>统计目录数和文件数
- yii2判断数据库字段is null
- [转]HTTP详解(1)-工作原理
- 一代狙神是Johnny.R
- 增强现实贺卡项目展示
- Android时间间隔 SystemClock.uptimeMillis 和 System.currentTimeMillis
- shel自动统计网站访问日志
- IT十八掌作业_java基础第三天_数组
- 利用Mahout实现在Hadoop上运行K-Means算法
- Java JSON库Jackson 2.x新变化一览
- wait_event_interruptible 使用方法
- 七个小矮人和一个小博
- ldconfig和ldd用法
- h5完美实现无刷新上传并附带上传效果