2012-08-29 23 views
16

मेरे पास दो सरणी हैं। Array1 में 15 ऑब्जेक्ट्स हैं और ऐरे 2 में 4 ऑब्जेक्ट्स हैं। दोनों सरणी से 2 सामान्य वस्तुएं हैं, मैं बस उस 2 ऑब्जेक्ट्स के परिणामस्वरूप प्राप्त करना चाहता हूं।उद्देश्य सी में दो सरणी कैसे छेड़छाड़ करने के लिए?

यह दो सेट के चौराहे की तरह होना चाहिए, लेकिन सरणी के लिए उद्देश्य सी में कैसे करना चाहिए ..? कृपया मदद करे। धन्यवाद।

+4

क्या उपयोग? –

+1

यह http://stackoverflow.com/a/1475656/1030951 – HarshIT

+0

धन्यवाद @ हैडली और रिकार्ड, मुझे एनएसएससेट का उपयोग करके अपना परिणाम फ़िल्टर करने का समाधान मिला। मेरा परिणाम सरणी मिल गया .. !! – Dishant

उत्तर

47

अपने सरणियों के साथ 2 सेट बनाने और फिर सेट पर चौराहे लागू बारे में NSMutableSet

NSMutableSet *set1 = [NSMutableSet setWithArray: array1]; 
NSSet *set2 = [NSSet setWithArray: array2]; 
[set1 intersectSet: set2]; 
NSArray *resultArray = [set1 allObjects]; 
+1

यहां सेट 1 एनएसएमयूटेबलसेट होना चाहिए क्योंकि एनएसएमयूटेबलसेट में विस्तार अंतर हैसेट विधि –

+2

यह सारणी कितनी अच्छी तरह से काम करती है यदि ये सरणी बहुत बड़ी हैं, जैसे 2000 ऑब्जेक्ट्स प्रत्येक? क्या यह एक स्केलेबल समाधान है? – zumzum

+0

यह कहने लायक है कि कोई दक्षता कारणों से एनएसएससेट का उपयोग क्यों करेगा! एनएसएससेट्स का उपयोग करने वाला कोड लूप समकक्ष की तुलना में तेज (बेहतर रनटाइम दक्षता) करेगा। – occulus