首页 > 其他 > 详细

NSArray去除重复元素的方法

时间:2014-03-14 17:06:23      阅读:467      评论:0      收藏:0      [点我收藏+]

有时需要将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

)

NSArray去除重复元素的方法,布布扣,bubuko.com

NSArray去除重复元素的方法

原文:http://www.cnblogs.com/tanwen1989/p/3600171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!