Python有一个集合库。在我的网络应用程序中,我使用collections.Counter(aList).most_common([n])
返回n
中aList
最常见的项目。
美观,简洁,速度相当快。
现在我正在研究iOS应用程序。 Objective-C或Cocoa框架中是否有任何东西可以为字符串数组提供相同的函数?
假设aList
是NSArrary
的{{1}}。
NSStrings
有任何关于缩小或改善其表现的建议吗?
答案 0 :(得分:0)
在我的手机上,但这应该让你到了一半:
NSArray *input = ...
NSCountedSet *set = [[NSCountedSet alloc] initWithArray:input];
NSMutableDictionary *output = [[NSMutableDictionary alloc] init];
for (id elem in set) [output setObject:[set countForObject:elem] forValue:elem];
如果这还不够快,我会考虑在插入时进行优化。