添加数组并删除重复项,而不改变目标c中的顺序

时间:2016-05-05 20:42:55

标签: ios sorting duplicates nsarray

考虑我有三个阵列。

NSArray *array1 = @[@"4",@"3",@"2"];
NSArray *array2 = @[@"2",@"1"];
NSArray *array3 = @[@"3",@"1",@"5",@"2"];

我想追加这些数组。条件是:

  • 订单不应该改变。意味着,Array1的顺序优先于Array2。
  • 应删除重复值(当使用Array1附加Array2时,我想从Array2中删除重复值)

所以我希望结果如下:

@[@"4",@"3",@"2",@"1",@"5"];

问题:

  • 我应该迭代每个值来构建预期结果吗?有没有简单的方法来实现它?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用NSMutableOrderedSet来实现此目标:

NSMutableOrderedSet *mSet = [NSMutableOrderedSet new];
[mSet addObjectsFromArray:array1];
[mSet addObjectsFromArray:array2];
[mSet addObjectsFromArray:array3];
NSArray *array = [mSet array];