2012-04-19 14 views
6

भले ही इसका मेरे कोड पर कम से कम प्रभाव पड़ता है, फिर भी मैं समझना चाहूंगा कि कोई ऑपरेशन दूसरे की तुलना में अधिक महंगा है :-)।एनएसएमयूटेबलएरे: क्या सभी ऑब्जेक्ट्स को हटाने या नए एनएसएमयूटेबलएरे में प्रवेश करने के लिए तेज़ है?

उत्तर

7

सभी ऑब्जेक्ट्स को निकालना तेज़ है। एनएसएमयूटेबलएरे के बारे में महंगा बात यह है कि जब यह क्षमता से बाहर हो जाती है तो इसकी आंतरिक सूची में विस्तार होता है।

इस blog post पर एक नज़र डालें।

+0

तो यदि आप एक सटीक (नई) क्षमता के साथ फिर से शुरू करते हैं, तो क्या यह अभी भी एक सरणी से सभी ऑब्जेक्ट को गैर-सटीक क्षमता के साथ हटाने के लिए तेज़ होगा और जोखिम ने इसकी आंतरिक सूची का विस्तार किया है? – Jake

+2

हम्म, यह एक अच्छा सवाल है, मुझे लगता है कि जब आप सभी वस्तुओं को हटाते हैं तो यह इसकी क्षमता को कम नहीं करता है। लेकिन एक बड़ी सरणी बनाएं, जैसे 1 मिलियन प्रविष्टियां और इसका परीक्षण करें। मैं कुछ संख्या देखना चाहता हूं। लेकिन बिना किसी संदेह के शुरुआत से ही सही क्षमता के साथ एक नई सरणी बनाने के लिए तेज़ी होगी। – fbernardo

+0

अगर मुझे आज समय मिल जाए, तो मैं इसका परीक्षण कर सकता हूं .. – Jake

संबंधित मुद्दे