在NSMutableArray中搜索对象并删除冗余值的最有效方法

时间:2012-11-14 13:49:22

标签: ios algorithm search nsmutablearray duplicate-removal

我有一些数组,所有数组都有冗余字符串。现在我必须从那时的阵列中删除多余的字符串,但我无法承受我的场景中的暴力技术。有没有有效的方法从数组中删除冗余值?

2 个答案:

答案 0 :(得分:1)

取决于你到底需要什么。如果需要包含所有输入数组值而没有重复项的新数组,则可以将所有对象添加到NSSet中。集合将忽略添加的重复项。

如果您需要原始数组(不包括重复数据),最好的方法是对每个数组进行排序,然后逐个递归,删除重复数据。

答案 1 :(得分:1)

NSSet的问题是使用isEqual和hash方法。 一些替代方案:

<强> 1。覆盖NSString并实现hash和isEqual:

如果在isEqual方法中返回caseInsensitiveCompare的结果,这种情况下你得到的集合没有重复;

<强> 1。将所有字符串大写并继续创建集合。