Collection หรือ Container หมายถึง แบบชนิดข้อมูลนามธรรมหรือวิธีการเก็บข้อมูล ซึ่งไม่สนใจการเรียงลำดับความสำคัญ สามารถให้ข้อมูลซ้ำได้ กล่าวคือสิ่งที่เก็บข้อมูลได้ถือว่าเป็น Collection

Collection
ความสำคัญของลำดับไม่เรียงลำดับความสำคัญ
การซ้ำกันของสมาชิกอนุญาตให้ซ้ำกันได้
เวลาที่ใช้ในการเข้าถึงไล่ทุกสมาชิก
โครงสร้างที่นำไปใช้ทุกโครงสร้างข้อมูล

นิยามของ Collection เช่นนี้ส่งผลให้การเก็บข้อมูลหรือโครงสร้างข้อมูล ทุกชนิดเป็น Collection ด้วย Collection จึงอาจใช้ในความหมายว่าเป็นที่เก็บข้อมูลหรือโครงสร้างข้อมูลได้เช่น Java Collections Framework

จุดเด่นของ Collection

แก้

Collection เป็นโครงสร้างข้อมูลพื้นฐานที่สุด อาจมีจุดเด่นสู้แบบชนิดข้อมูลนามธรรมหรือโครงสร้างข้อมูลอื่นๆที่ลงรายละเอียดไม่ได้ อาทิตารางแฮชก็เข้าถึงข้อมูลได้รวดเร็ว แถวคอยลำดับความสำคัญก็เข้าถึงข้อมูลตัวที่สำคัญที่สุดได้รวดเร็ว แต่ถึงอย่างไรก็ตามทุกโครงสร้างข้อมูลก็มีเงื่อนไข เช่น ตารางแฮชเก็บข้อมูลซ้ำกันไม่ได้ เป็นต้น เพราะฉะนั้น Collection มีจุดเด่นที่เห็นชัดเจนที่สุดคือ มีเงื่อนไขน้อยนั่นเอง

นอกจากนั้นแล้ว เนื่องจากการมีเงื่อนไขน้อย จึงทำให้ไม่ต้องจัดการข้อมูลมาก การเพิ่มข้อมูลจึงใช้เวลาคงที่ O (1)อีกด้วย จึงเหมาะสมกับเป็นที่เก็บข้อมูลที่เก็บมากๆ แต่ใช้น้อยๆ

บริการที่มักจะมี

แก้
  • การเพิ่ม-ลบข้อมูล/ชุดข้อมูล
  • การค้นหาข้อมูล
  • การหาความถี่ข้อมูล (frequency)
  • การทำให้ว่าง
  • การทำให้เป็นแถวลำดับ (to array)

ความเร็วที่ใช้ในการทำงาน

แก้

หากกล่าวถึง Collection เฉพาะในความหมายว่าเก็บข้อมูลที่ซ้ำกันได้ และไม่เรียงลำดับความสำคัญ เนื่องจากการไม่มีเงื่อนไขของข้อมูล ส่งผลให้มีการเก็บข้อมูลหรือการเพิ่มสมาชิกรวดเร็ว เป็นเวลาคงที่ (O (1)) แต่การเข้าถึงจะช้า เพราะไม่มีการจัดการที่ดี ต้องไล่ทุกสมาชิก จึงทำให้เสียเวลาเป็นเชิงเส้นกับจำนวนข้อมูล (O (n))

การสร้าง Collection

แก้

การสร้าง Collection อย่างง่ายอาจสร้างด้วยแถวลำดับ โดยเพิ่มสมาชิกตรงลำดับสุดท้าย ค้นหาสมาชิกโดยการใช้วงวน ไล่ทุกสมาชิกได้

ดูเพิ่ม

แก้