[iOS开发]判断两个数组中数据是否相同

本文探讨了如何在Objective-C中通过排序后比较两个数组的内容是否相同,包括使用正确的比较方法来确保数组元素的正确排序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中遇到的问题,话不多说了。直接上代码。

 
[objc]  view plain  copy
  1. NSArray *array1 = [NSArray arrayWithObjects:@"a"@"b"@"c", nil nil];  
  2. NSArray *array2 = [NSArray arrayWithObjects:@"b"@"a"@"c", nil nil];  
  3. bool bol = false;  
  4.   
  5. //创建俩新的数组  
  6. NSMutableArray *oldArr = [NSMutableArray arrayWithArray:array1];  
  7. NSMutableArray *newArr = [NSMutableArray arrayWithArray:array2];  
  8.   
  9. //对数组1排序。  
  10. [oldArr sortUsingComparator:^NSComparisonResult(id obj1id obj2){  
  11.     return obj1 > obj2;  
  12. }];  

  13. ////上个排序好像不起作用,应采用下面这个
  14. [oldArr sortUsingComparator:^NSComparisonResult(id obj1, id obj2){return [obj1 localizedStandardCompare: obj2];}];
  15.   
  16. //对数组2排序。  
  17. [newArr sortUsingComparator:^NSComparisonResult(id obj1id obj2){  
  18.       return obj1 > obj2;  
  19.       }];  
  20. ////上个排序好像不起作用,应采用下面这个
  21. [newArr sortUsingComparator:^NSComparisonResult(id obj1, id obj2){return [obj1 localizedStandardCompare: obj2];}];


  22.   
  23. if (newArr.count == oldArr.count) {  
  24.       
  25.    bol = true;  
  26.    for (int16_t i = 0; i < oldArr.count; i++) {  
  27.          
  28.        id c1 = [oldArr objectAtIndex:i];  
  29.        id newc = [newArr objectAtIndex:i];  
  30.        
  31.        if (![newc isEqualToString:c1];) {  
  32.           bol = false;  
  33.           break;  
  34.           }  
  35.       }  
  36.  }  
  37.   
  38. if (bol) {   
  39.     NSLog(@"两个数组的内容相同!");   
  40. }   
  41. else {   
  42.     NSLog(@"两个数组的内容不相同!");   
  43. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值