คอลเลกชัน
ลิงก์ข้ามภาษาในบทความนี้ มีไว้ให้ผู้อ่านและผู้ร่วมแก้ไขบทความศึกษาเพิ่มเติมโดยสะดวก เนื่องจากวิกิพีเดียภาษาไทยยังไม่มีบทความดังกล่าว กระนั้น ควรรีบสร้างเป็นบทความโดยเร็วที่สุด |
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 อย่างง่ายอาจสร้างด้วยแถวลำดับ โดยเพิ่มสมาชิกตรงลำดับสุดท้าย ค้นหาสมาชิกโดยการใช้วงวน ไล่ทุกสมาชิกได้