NSArray去除重复元素的方法
来源:互联网 发布:高圆圆的淘宝店 编辑:程序博客网 时间:2024/06/05 10:19
有时需要将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
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
)
http://blog.163.com/nijino_saki/blog/static/800921442013421114117193/
0 0
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素的方法
- NSArray去除重复元素(对象)的方法
- [IOS 开发] NSArray去除重复元素的方法
- NSArray中去除重复的元素
- iOS数组去除重复的元素的4种方法
- js去除重复元素的两种方法收藏
- 【Practice】去除vector里重复元素的方法比较
- js去除数组中的重复元素的好方法
- js去除数组中重复元素的方法
- Linux上安装JDK
- 安装hadoop1.2.1集群环境
- Hadoop文件的基本操作
- getline(cin,s)
- 在Eclipse中运行hadoop程序
- NSArray去除重复元素的方法
- java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常解决
- 【Nutch基础教程之七】Nutch的2种运行模式:local及deploy
- 一文读懂机器学习,大数据/自然语言处理/算法全有了
- Nutch+Hadoop集群搭建
- hadoop配置文件的加载机制
- 搭建hbase-0.94.26集群环境
- 【Nutch2.3基础教程】集成Nutch/Hadoop/Hbase/Solr构建搜索引擎:安装及运行【集群环境】
- Nutch关于robot.txt的处理