2014-12-10 1 views
1

예를 들어 용량이 3 인 하나의 nsmutableset을 만들지 만 3 개 이상의 객체를 추가 할 수 있습니다. 그래서 실제 용량은 무엇입니까?NSMutableSet에 용량보다 많은 객체를 추가 할 수있는 이유

Apple Docs에서 알 수 있듯이 "용량"의 목적은 무엇입니까?

반환 값 numItems를 보유 할 초기 용량이 변경 가능한 집합 구성원.

토론 변경 가능 세트는 필요에 따라 추가 메모리를 할당하므로 numnumItems는 단순히 객체의 초기 용량을 설정합니다.

답변

4

실제 용량은 사용 가능한 메모리에 의해서만 제한됩니다. 초기 용량을 사용하면 세트의 실제 크기 또는 대략적인 크기를 알면 동적으로 세트를 확장시키지 않아도됩니다. 이것은 세트를 지속적으로 성장시키는 것보다 효율적입니다.

예를 들어 문자열에 문자를 저장하려면 (예 : attack = {atck}) 집합을 원하면 26 자의 문자가 있다는 것을 알고 있으므로 초기 용량으로 초기화 할 수 있습니다. 26 "힌트"를 이니셜 라이저에게 보냅니다. 더 크거나 작은 용량을 할당 할 수 있습니다.

+0

이것은 단지 표시입니다. 런타임은 제공된 용량보다 크거나 작게 만들 수 있습니다. 그래도 이렇게하는 것이 좋습니다. – Abizern

관련 문제