В чем разница между методами словаря и dictionaryWithCapacity? - PullRequest
3 голосов
/ 22 сентября 2011

В чем разница между [NSMutableDictionary dictionary] и [NSMutableDictionary dictionaryWithCapacity:10]?

какой из них лучше?

Ответы [ 2 ]

3 голосов
/ 22 сентября 2011

dictionaryWithCapacity лучше, если вы знаете, сколько элементов вы собираетесь вставить в начале.Это означает, что он может сразу же выделить необходимое количество места для ваших предметов.

Это не мешает вам добавлять больше.Это просто означает, что если вы превысите выделенную сумму, вам придется выделять больше, что может быть более ресурсоемким.

С другой стороны, если вы не знаете, сколько предметов вам нужно, и выделяете слишком много места, значит, у вас недостаточно памяти, что очень важно для мобильных устройств.

У меня нет никаких эталонов, но я не верю, что различия ужасно огромны, поэтому я не буду слишком суетиться.

0 голосов
/ 22 сентября 2011

dictionaryWithCapacity вернется, чтобы укусить вас, когда вы в конечном итоге положите туда слишком много, или потеряете пространство, если вы не поместите туда достаточно.Я всегда использовал бы dictionary, если только не сталкивался с конкретными проблемами с памятью или производительностью, и словарь был причиной их возникновения.В противном случае это просто ненужная сложность.

...