我有一个NSMutableArray并说我有一个'days'列,其中包含的数据范围从0到4表示我有5行像这样
0
0
1
2
3
我想计算有多少独特的物品,所以在这种情况下,它会返回4,因为它不计算第二个0。
感谢您的帮助
答案 0 :(得分:1)
[NSSet setWithArray:yourArray].count
。
答案 1 :(得分:0)
直截了当。你想要做的是删除数组中的重复项并获取唯一项的计数。这可以通过使用NSSet和NSMutableArray来完成:
[uniqueArray addObjectsFromArray:[[NSSet setWithArray:duplicateArray] allObjects]];
[uniqueArray count];
希望这个帮助
答案 2 :(得分:0)
如果您的数组已经排序,您可以通过它进行单次传递,维护包含“当前”值的变量和计数器,每当当前值与索引处的值不匹配时,计数器就会递增(然后更新'current'值以匹配。这需要比上面更多的代码行,但如果数组足够大,从而构建一个来自所有数组元素的集合是一个足够重要的任务来提高性能-wise。