यह समझने के लिए कि सेट्स का उपयोग करके कोड को कैसे तेज़ बनाया जाए, हमें पहले उन परिदृश्यों को समझना होगा जिनमें ऐरे के बजाय सेट्स का उपयोग किया जाना चाहिए:
चूंकि सेट्स में केवल यूनिक एलिमेंट्स होते हैं, यदि हम पहले से जानते हैं कि हम अपने स्ट्रक्चर में डुप्लीकेट डेटा से बचना चाहते हैं तो यह आसान है।
सेट के बेसिक ऑपरेशन्स जैसे
union(),intersect(),difference()आदि... नेटिव बिल्ट-इन ऑपरेशन्स के आधार पर प्रभावी ढंग से लागू किए जाते हैं।delete()मेथड के कारण, यह 2 सेट्स के बीच इंटरसेक्ट/यूनियन को 2 ऐरे के समान ऑपरेशन की तुलना में अधिक आरामदायक बनाता है। यह कोड को तेज़ भी बनाता है क्योंकि सेट्स में रैंडम डिलीट्स O(1) हैं जबकि ऐरे में समान O(n) है।ऐरे ऑर्डर्ड और इंडेक्स-आधारित एक्सेस या किसी भी एक्शन के लिए होते हैं जिसमें एलिमेंट्स तक डायरेक्ट इंडेक्स एक्सेस की आवश्यकता होती है (उदाहरण के लिए, बाइनरी सर्च)। सेट्स कलेक्शन में ऑब्जेक्ट्स की सदस्यता जांचने और मान्य करने के लिए होते हैं।
सर्च-हेवी परिदृश्यों को सेट्स का उपयोग करना चाहिए। उदाहरण के लिए, आपके पास ऑथराइजेशन और ऑथेंटिकेशन है जहां आप विभिन्न ग्रुप्स में लोगों की सदस्यता की जांच करते हैं।
जहां ऑर्डर महत्वपूर्ण है और डुप्लीकेट डेटा आवश्यक है वहां ऐरे का उपयोग करना चाहिए। उदाहरण के लिए, ऑब्जेक्ट्स का सॉर्टेड कलेक्शन।
नोट - सेट्स ऐरे से अलग हैं। वे ऐरे को बदलने के लिए नहीं हैं, बल्कि अतिरिक्त सपोर्ट प्रदान करने के लिए हैं।