เพื่อให้เข้าใจวิธีทำให้โค้ดเร็วขึ้นโดยใช้ชุด เราต้องเข้าใจสถานการณ์ที่ต้องใช้ชุดแทนอาร์เรย์ก่อน -
-
เนื่องจากชุดประกอบด้วยองค์ประกอบเฉพาะ จึงง่ายกว่าหากเราทราบล่วงหน้าว่าเราต้องการหลีกเลี่ยงการบันทึกข้อมูลที่ซ้ำกันลงในโครงสร้างของเรา
-
การดำเนินการพื้นฐานของ Set like union(), intersect(),ผลต่าง () ฯลฯ... ถูกนำไปใช้อย่างมีประสิทธิภาพอย่างง่ายดายโดยอิงจากการดำเนินการในตัวที่ให้มา เนื่องจากเมธอด delete() ทำให้อินเตอร์เซก/ยูเนียนระหว่าง 2 ชุดสะดวกกว่าการทำแบบเดียวกันกับ 2 อาร์เรย์ สิ่งนี้ยังทำให้โค้ดเร็วขึ้นเนื่องจากการลบแบบสุ่มในชุดคือ O(1) ในขณะที่อาร์เรย์เหมือนกันคือ O(n)
-
อาร์เรย์มีไว้สำหรับการเข้าถึงตามคำสั่งและตามดัชนี หรือการดำเนินการใดๆ ที่จำเป็นในการเข้าถึงดัชนีโดยตรงไปยังองค์ประกอบ (เช่น การค้นหาแบบไบนารี) ชุดมีไว้สำหรับตรวจสอบและตรวจสอบความเป็นสมาชิกของออบเจกต์ในคอลเล็กชัน
ค้นหาสถานการณ์หนักควรใช้ชุด ตัวอย่างเช่น คุณมีสิทธิ์และการรับรองความถูกต้องซึ่งคุณตรวจสอบการเป็นสมาชิกของกลุ่มต่างๆ
สถานที่ที่การสั่งซื้อมีความสำคัญและต้องการข้อมูลซ้ำซ้อนควรใช้อาร์เรย์ ตัวอย่างเช่น การเรียงลำดับของวัตถุ
หมายเหตุ −ชุดจะแตกต่างจากอาร์เรย์ ไม่ได้มีไว้สำหรับแทนที่ Array แต่เพื่อให้การสนับสนุนเพิ่มเติม