在NSArray中查找最长的字符串

时间:2013-07-23 16:28:08

标签: objective-c nsarray

我有一个充满200,000字的NSArray,我不知道每个单词的长度。 我需要知道该数组中包含的单词的最大长度是多少。

例如,如果我的数组是{“dog”,“person”,“amazing”} 此数组中包含的单词的最大长度为7(“惊人”)

我该怎么做?

2 个答案:

答案 0 :(得分:23)

除了暗示迭代数组的所有方法之外,您可以使用valueForKeyPath:集合运算符轻松地使用@max执行此操作:

NSNumber* maxLength= [array valueForKeyPath: @"@max.length"];

答案 1 :(得分:12)

你可以试试这个

找到最长的字长

NSArray *wordList = [NSArray arrayWithObjects:@"dog", @"person", @"amazing", nil];

int maxLen, strLen;
for(NSString *str in wordList) {
    strLen = [str length];
    if ( strLen > maxLen) {
        maxLen = strLen;
    } 
}
NSLog(@"Longest Word Length = %d", maxLen);

找到最长的字

NSArray *wordList = [NSArray arrayWithObjects:@"dog", @"person", @"amazing", nil];

NSString *longestWord = nil;
for(NSString *str in wordList) {
    if (longestWord == nil || [str length] > [longestWord length]) {
        longestWord = str;
    }
}
NSLog(@"Longest Word = %@", longestWord);