সেট ব্যবহার করে কোড কীভাবে দ্রুত করা যায় সেটা বুঝতে হলে আমাদের প্রথমে বুঝতে হবে কোন সিনেরিওতে অ্যারে বদলে সেট ব্যবহার করা উচিত -
যেহেতু Sets শুধু ইউনিক এলিমেন্ট ধারণ করে, যদি আমরা আগে থেকেই জানি ডুপ্লিকেট ডেটা এড়াতে চাই তবে এটি সহজ।
Set-এর বেসিক অপারেশন যেমন union(), intersect(), difference() ইত্যাদি নেটিভ বিল্ট-ইন অপারেশন দিয়ে ইফেক্টিভলি ইমপ্লিমেন্ট করা যায়। delete() মেথডের কারণে, ২টি Set-এর মধ্যে intersect/union ২টি অ্যারের চেয়ে অনেক কমফরটেবল। এটি কোডও দ্রুত করে কারণ সেটে র্যান্ডম ডিলিট O(1) যখন অ্যারেতে O(n)।
অ্যারে উদ্দেশ্য হলো অর্ডার্ড এবং ইন্ডেক্স-ভিত্তিক এক্সেস বা যেকোনো অ্যাকশন যেটি ডায়রেক্ট ইন্ডেক্স এক্সেস দরকার (যেমন, বাইনারি সার্চ)। Sets উদ্দেশ্য হলো কালেকশনে অবজেক্টের মেম্বারশিপ চেক এবং ভ্যালিডেট করা।
সার্চ-হেভি সিনেরিওতে সেট ব্যবহার করা উচিত। উদাহরণস্বরূপ, আপনার অথরাইজেশন এবং অথেনটিকেশন আছে যেখানে আপনি বিভিন্ন গ্রুপে লোকের মেম্বারশিপ চেক করেন।
যেখানে অর্ডার গুরুত্বপূর্ণ এবং ডুপ্লিকেট ডেটা দরকার সেখানে অ্যারে ব্যবহার করা উচিত। উদাহরণস্বরূপ, অবজেক্টের সর্টেড কালেকশন।
নোট − Sets অ্যার থেকে ভিন্ন। এগুলো অ্যারে রিপ্লেস করার জন্য নয়, বরং অ্যাডিশনাল সাপোর্ট দিতে।