两个数组在第一个数组中检索两个值

First_mutableArray1,2,3,4,5,6
Second_MutableArray2,4,6,8,0,12

如何获得像这样的输出

First_mutableArray1,2,3,4,5,6,8,0,12

有序版本:

  NSMutableOrderedSet *first = [NSMutableOrderedSet orderedSetWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",nil]; NSOrderedSet *second = [NSOrderedSet orderedSetWithObjects:@"2",@"4",@"6",@"8",@"0",@"12",nil]; [first unionOrderedSet:second]; 

首先variables将包含结果。

试试:

 NSMutableArray *first=[NSMutableArray arrayWithArray:@[@"1",@"2",@"3",@"4",@"5",@"6"]]; NSMutableArray *second=[NSMutableArray arrayWithArray:@[@"2",@"4",@"6",@"8",@"0",@"12"]]; for (id obj in second) { if (![first containsObject:obj]) { [first addObject:obj]; } } NSLog(@"%@",first); 

编辑:

 NSMutableArray *first=[NSMutableArray arrayWithArray:@[@"1",@"2",@"3",@"4",@"5",@"6"]]; NSMutableArray *second=[NSMutableArray arrayWithArray:@[@"2",@"4",@"6",@"8",@"0",@"12"]]; NSMutableOrderedSet *firstSet=[NSMutableOrderedSet orderedSetWithArray:first]; NSOrderedSet *secondSet=[NSOrderedSet orderedSetWithArray:second]; [firstSet unionOrderedSet:secondSet]; first=[[firstSet array] mutableCopy]; NSLog(@"%@",first); 

* 信贷去马克Kryzhanouski

结合这两个数组,并使用combinedArray中的下面的代码两个删除重复。

 NSMutableArray* combinedArray = [NSMutableArray arrayWithArray:firstArray]; [combinedArray addObjectsFromArray: secondArray]; NSMutableArray *myUniqueArray = [NSMutableArray array]; for (id obj in combinedArray) { if (![myUniqueArray containsObject:obj]) { [myUniqueArray addObject:obj]; } } 

使用这个代码

 NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil]; NSMutableArray *array1 = [[NSMutableArray alloc]initWithObjects:@"2",@"4",@"6",@"8",@"0",@"12", nil]; for(int i = 0;i<array1.count;i++) { NSString *str = [array1 objectAtIndex:i]; if (![array containsObject:str]) { [array addObject: str]; }else { NSLog(@"contins"); } } NSLog(@"%@",array); 

尝试下面的一个:

 NSMutableArray *first=[NSMutableArray arrayWithArray:@[@"1",@"2",@"3",@"4",@"5",@"6"]]; NSMutableArray *second=[NSMutableArray arrayWithArray:@[@"2",@"4",@"6",@"8",@"0",@"12"]]; NSMutableSet *firstSet = [NSMutableSet setWithArray:first]; NSMutableSet *secondSet = [NSMutableSet setWithArray:second]; [firstSet unionSet:secondSet]; NSArray *uniqueArray = [firstSet allObjects]; 

你可以使用NSMutableSet来做这件事情:

 NSMutableSet *firstSet = [NSMutableSet setWithArray:First_mutableArray]; NSMutableSet *secondSet = [NSMutableSet setWithArray:Second_MutableArray]; [firstSet unionSet:secondSet]; NSArray *uniqueArray = [firstSet allObjects]; 

这里你走了。 使用NSSet将比迭代每个数组并添加不匹配的对象更好的性能。

 NSArray *arr1 = @[@1,@2,@3,@4,@5,@6]; NSArray *arr2 = @[@2,@4,@6,@8,@0,@12]; NSMutableSet *set = [[NSMutableSet alloc] initWithArray:arr1]; [set addObjectsFromArray:arr2]; // Unsorted NSLog(@"set = %@", [set description]); // Sorted NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES]; NSArray *sortedArray = [set sortedArrayUsingDescriptors:[NSArray arrayWithObject:sort]]; NSLog(@"sortedArray = %@", [sortedArray description]);