将int与int的Obj-C数组进行比较

Sam*_*man 1 nsarray nsinteger iphone-sdk-3.0

我如何看看我的整数是否在整数数组中...

例如,我想知道7是否在[1 3 4 5 6 7 8]的数组中

有任何想法吗?

谢谢

phi*_*red 6

有几种方法可以做到这一点取决于诸如阵列大小等因素 - 您需要搜索的频率,需要添加到阵列的频率等等.通常这是一个计算机科学问题.

更具体地说,我猜有三种选择可能最适合您的需求.

  1. "蛮力":只需遍历数组寻找值.调用containsObject:NSArray会为你做到这一点.对于小型阵列,简单且可能最快.
  2. 将数组复制到一个集合中并用于containsObject:检查是否存在
  3. 保留数组中的值,但对数组进行排序并实现自己的二进制搜索 - 这可能不像听起来那么复杂.