欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

IOS开发之判断两个数组中数据是否相同实例详解

程序员文章站 2024-02-16 19:59:25
ios开发之判断两个数组中数据是否相同实例详解 前言: 工作中遇到的问题,这里记录下,也许能帮助到大家 实例代码: nsarray *array1 = [n...

ios开发之判断两个数组中数据是否相同实例详解

前言:

工作中遇到的问题,这里记录下,也许能帮助到大家

实例代码:

nsarray *array1 = [nsarray arraywithobjects:@"a", @"b", @"c", nil nil]; 
nsarray *array2 = [nsarray arraywithobjects:@"b", @"a", @"c", nil nil]; 
bool bol = false; 
 
//创建俩新的数组 
nsmutablearray *oldarr = [nsmutablearray arraywitharray:array1]; 
nsmutablearray *newarr = [nsmutablearray arraywitharray:array2]; 
 
//对数组1排序。 
[oldarr sortusingcomparator:^nscomparisonresult(id obj1, id obj2){ 
  return obj1 > obj2; 
}]; 

////上个排序好像不起作用,应采用下面这个
[oldarr sortusingcomparator:^nscomparisonresult(id obj1, id obj2){return [obj1 localizedstandardcompare: obj2];}];
 
//对数组2排序。 
[newarr sortusingcomparator:^nscomparisonresult(id obj1, id obj2){ 
   return obj1 > obj2; 
   }]; 
////上个排序好像不起作用,应采用下面这个
[newarr sortusingcomparator:^nscomparisonresult(id obj1, id obj2){return [obj1 localizedstandardcompare: obj2];}];

 
if (newarr.count == oldarr.count) { 
   
  bol = true; 
  for (int16_t i = 0; i < oldarr.count; i++) { 
     
    id c1 = [oldarr objectatindex:i]; 
    id newc = [newarr objectatindex:i]; 
    
    if (![newc isequaltostring:c1];) { 
     bol = false; 
     break; 
     } 
   } 
 } 
 
if (bol) {  
  nslog(@"两个数组的内容相同!");  
}  
else {  
  nslog(@"两个数组的内容不相同!");  
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!