//一、 利用keyValue的方式
NSArray *dataArray = @[
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019"];
dataArray = [dataArray valueForKeyPath:@"@distinctUnionOfObjects.self"];
NSLog(@"%@",dataArray);
// 打印结果:
(
"2014",
"2015",
"2016",
"2017",
"2018",
"2019"
)
// distinctUnionOfObjects的解释
// @distinctUnionOfObjects:返回操作对象内部的不同对象,返回值为数组
//第二种方法 :使用谓词
NSArray * arr1 = @[@2,@3];
NSArray * arr2 = @[@2,@3,@4,@5];
NSPredicate * filterPredicate = [NSPredicate predicateWithFormat:@"NOT (SELF IN %@)",arr1];
NSArray * filter = [arr2 filteredArrayUsingPredicate:filterPredicate];
NSLog(@"%@",filter);
// 打印结果:
(
4,
5
)
// 三: 使用NSSet
NSArray *dataArray = @[
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019"];
NSSet *set = [NSSet setWithArray:dataArray];
NSLog(@"%@",[set allObjects]);
// 打印结果:
(
"2014",
"2015",
"2016",
"2017",
"2018",
"2019"
)
// 利用字典
NSArray *dataArray = @[
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019",
@"2014",@"2015",@"2016",
@"2017",@"2018",@"2019"];
NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
for(NSString *str in dataArray)
{
[dic setValue:str forKey:str];
}
NSLog(@"%@",[dic allKeys]);
// 打印结果:
(
"2014",
"2015",
"2016",
"2017",
"2018",
"2019"
)
网友评论