关于iOS去除数组中重复数据的几种方法
在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢?
第一种:利用NSDictionary的AllKeys(AllValues)方法
代码:
- NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-03",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-04",@"2014-04-06",@"2014-04-08",
- @"2014-04-05",@"2014-04-07",@"2014-04-09",];
- NSMutableDictionary *dic = [[NSMutableDictionary alloc]initWithCapacity:0];
- for(NSString *str in dataArray)
- {
- [dic setValue:str forKey:str];
- }
- NSLog(@"%@",[dic allKeys]);
打印结果:
(
"2014-04-09",
"2014-04-02",
"2014-04-08",
"2014-04-01",
"2014-04-07",
"2014-04-06",
"2014-04-05",
"2014-04-04",
"2014-04-03"
)
第二种方法:利用NSSet的AllObjects方法
实例代码:
- NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-03",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-04",@"2014-04-06",@"2014-04-08",
- @"2014-04-05",@"2014-04-07",@"2014-04-09",];
- NSSet *set = [NSSet setWithArray:dataArray];
- NSLog(@"%@",[set allObjects]);
打印结果:
(
"2014-04-01",
"2014-04-02",
"2014-04-03",
"2014-04-04",
"2014-04-06",
"2014-04-08",
"2014-04-05",
"2014-04-07",
"2014-04-09"
)
第三种方法,利用数组的containsObject来去除
代码如下:
- NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-03",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-04",@"2014-04-06",@"2014-04-08",
- @"2014-04-05",@"2014-04-07",@"2014-04-09",];
- NSMutableArray *listAry = [[NSMutableArray alloc]init];
- for (NSString *str in dataArray) {
- if (![listAry containsObject:str]) {
- [listAry addObject:str];
- }
- }
- NSLog(@"%@",listAry);
打印结果:
(
"2014-04-01",
"2014-04-02",
"2014-04-03",
"2014-04-04",
"2014-04-06",
"2014-04-08",
"2014-04-05",
"2014-04-07",
"2014-04-09"
)
第四种方法:利用keyValue的方式(自己不是太明白)
- NSArray *dataArray = @[@"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-03",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-01",@"2014-04-02",@"2014-04-03",
- @"2014-04-04",@"2014-04-06",@"2014-04-08",
- @"2014-04-05",@"2014-04-07",@"2014-04-09",];
- dataArray = [dataArray valueForKeyPath:@"@distinctUnionOfObjects.self"];
- NSLog(@"%@",dataArray);
打印结果如下:
- (
- "2014-04-01",
- "2014-04-02",
- "2014-04-03",
- "2014-04-04",
- "2014-04-06",
- "2014-04-08",
- "2014-04-05",
- "2014-04-07",
- "2014-04-09"
- )
总结:这几种方式都可以实现去除重复的数据,当然也可以用for循环的方式去除方法不再叙述;淡然也参考了别人的东西进行的总结
案例的使用:
服务器返回一个带有日期的数组,当然有重复的日期,同一个的日期的列表要在同一个地方的话,头部显示日期的话,可以使用到此方法去除重复的,当然,根据具体的情况代码和逻辑是不同的!
转载于:https://www.cnblogs.com/wzy1/p/7884939.html
关于iOS去除数组中重复数据的几种方法相关推荐
- Js中去除数组中重复元素的几种方法
方法1: 1 Array.prototype.method1=function(){ 2 var arr=[]; 3 for(var i=0;i<this.length;i++){ 4 if(a ...
- php数组遍历相同的元素覆盖_php获取数组中重复数据的两种方法
搜索热词 代码如下: PHP function FetchRepeatMemberInArray($array) { // 获取去掉重复数据的数组 $unique_arr = array_unique ...
- python去重复排序_Python实现删除排序数组中重复项的两种方法示例
本文实例讲述了Python实现删除排序数组中重复项的两种方法.分享给大家供大家参考,具体如下: 对于给定的有序数组nums,移除数组中存在的重复数字,确保每个数字只出现一次并返回新数组的长度 注意:不 ...
- java删除数组中重复元素的几种方法
Java操控数组,删除数组中所有的重复元素,使其数组元素全部唯一,有以下几种方法: 1,使用set(最好想到),set本身就是不重复的集合: package Array_test;import jav ...
- Python 中list中所有值加和_Python 中去除列表中重复元素的5种方法
(点击上方快速关注并设置为星标,一起学Python) 1.使用集合 Python中集合的元素是唯一的,具有去重的功能.使用集合与列表可以互转的特性,将列表转换为集合去重,再将集合转换为列表: def ...
- python如何去除列表中的重复项_Python 中去除列表中重复元素的5种方法
(点击上方快速关注并设置为星标,一起学Python) 1.使用集合 Python中集合的元素是唯一的,具有去重的功能.使用集合与列表可以互转的特性,将列表转换为集合去重,再将集合转换为列表: def ...
- android 去重 比较两个list_android 去重 比较两个list_Android 去除list集合中重复项的几种方法...
因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...
- android 去重 比较两个list_Android 去除list集合中重复项的几种方法
因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List li1 = new List { "", "", "" ...
- php 从数组里删除元素,PHP从数组中删除元素的四种方法实例
PHP从数组中删除元素的四种方法实例 一.总结 一句话总结:unset(),array_splice(),array_diff(),array_diff_key() 二.PHP从数组中删除元素的四种方 ...
最新文章
- 计算机知识课后反思,计算机硬件和软件知识课后反思
- YoutubeNet的数据答疑
- java short字段_Java Field setShort()用法及代码示例
- angular5 ng-content使用方法
- 混淆工具Dotfuscator基本使用
- 告别DNS劫持,一文读懂DoH
- 跟幼师谈恋爱什么梗_和懂你的人谈恋爱,比“秋天的第一杯奶茶”要甜
- pytorch load state dict_学习Pytorch过程遇到的坑(持续更新中)
- 8.霍夫变换:线条——动手编码、霍夫演示_4
- 解决Oracle的http://localhost:1158/em页面打不开的问题
- find函数常见错误_如何利用FIND找出你要的数据-EXCEL-开篇3-字符串函数系列-2
- tensorflow tensorboard summary的工作特点
- 转:awakeFromNib/loadView/viewDidLoad总结
- 62.不同的路径(力扣leetcode) 博主可答疑该问题
- Windows 10 全新界面来了:焕然一新!
- 基于74系列芯片的红绿灯设计
- 模拟城市5一直显示服务器中断,EA关闭《模拟城市5》非关键功能缓解服务器问题...
- 配置ip地址常用命令及解释
- JavaScript小项目总结
- 博升机器人_乐博乐博机器人