如果我有5个NSString,并且想要查看是否有任何字符串是相同的,是否有比使用[string isEqualToString:string2]
一堆更快的方法测试每个字符串?如何检查字符串是否等于多个字符串中的任何一个objective c
回答
如果你只有5个字符串,可能没有什么比比较一个一个更快。
但是,如果您有很多字符串,请使用所有这些字符串创建一个NSSet,然后通过使用-[containsObject:]
来检查该字符串是否为该集的成员。
+1的一个好方法,但值得注意的是NSSet的'-containsObject:'可能使用'-isEqual:'。 NSString文档说如果你知道两个对象都是字符串,'-isEqualToString:'比'-isEqual:'更快,所以'-containsObject:'可能不会更快。 – Caleb
-containsObject:如果字符串不存在,或者一个是-hash和one-isEqual:如果该字符串存在,则为one -hash。调用-isEqualToString:在每个字符串上是1-N调用,平均N/2。因此,除非字符串长度与N的顺序相同(因此“如果只有5个字符串”位),则没有比较 - 这是一个常数算法与线性算法的比较。 – abarnert
我已经创建了我所有字符串的NSSet。有没有办法判断是否有重复?还有可能知道NSSet中的哪些条目是重复的吗?谢谢 – acidic
- 1. 检查字符串x是否等于字符串中的任何字符串[]
- 2. 如何检查一个字符串是否等于另一个字符串?
- 3. 如何检查一个字符串是否包含任何一些字符串
- 4. 检查一个字符串是否是任何多个项目
- 5. 检查字符串是否以多个字符中的任何一个结尾
- 6. 如何检查字符串a是否是一个不等于字符串b的子字符串?
- 7. 如何检查是否字符串不等于一个布尔
- 8. Java:检查一个字符串是否等于一个字符串
- 9. 如何检查字符串是否存在于另一个字符串中
- 10. 检查一个字符串是否包含任何字符
- 11. 击:如何检查是否最后一个字符串的字符等于“*”
- 12. C - 检查字符串是否是另一个字符串的子字符串
- 13. 如何检查一个字符串是否包含来自另一个字符串的任何字符?
- 14. 如何检查一个字符串是否在C中的字符串数组?
- 15. Javascript - 如何检查一个字符串是否包含多个子字符串
- 16. 击:如何检查是否最后三个字符串中的字符等于“***”
- 17. 如何检查一个变量是否等于一个字符串或另一个字符串?
- 18. 检查是否有任何字符串列表是在另一个字符串
- 19. 给定一个字符串,如何检查前几个字符是否是另一个字符串? C++
- 20. 检查一个字符串是否包含任何一组字符串?
- 21. 检查字符串中是否存在多个字符串
- 22. 如何检查字符串是否以C中的某个字符串开头?
- 23. 如何检查一个字符串是否包含一个子字符串 - mysql
- 24. 检查一个字符串是否以列表中的任何字符开头
- 25. 如何检查字符串是否是Groovy字符串列表中的任何字符串的一部分?
- 26. 是否有任何MSBuild任务检查一个字符串包含另一个字符串(类似于string.contains)
- 27. 检查一个字符串是否包含任何字符串数组元素
- 28. c#如何检查一个Long字符串是否包含任何字母?
- 29. 如何检查一个字符串是否至少包含另一个字符串中的一个字符?
- 30. 检查字符串是否等于许多给定字符串之一
速度更快,少打字或少计算? – mkb
我不介意打字,我在谈论较少计算 – acidic