Collection หรือ Container หมายถึง แบบชนิดข้อมูลนามธรรมหรือวิธีการเก็บข้อมูล ซึ่งไม่สนใจการเรียงลำดับความสำคัญ สามารถให้ข้อมูลซ้ำได้ กล่าวคือสิ่งที่เก็บข้อมูลได้ถือว่าเป็น Collection
Collection | |
---|---|
ความสำคัญของลำดับ | ไม่เรียงลำดับความสำคัญ |
การซ้ำกันของสมาชิก | อนุญาตให้ซ้ำกันได้ |
เวลาที่ใช้ในการเข้าถึง | ไล่ทุกสมาชิก |
โครงสร้างที่นำไปใช้ | ทุกโครงสร้างข้อมูล |
นิยามของ Collection เช่นนี้ส่งผลให้การเก็บข้อมูลหรือโครงสร้างข้อมูล ทุกชนิดเป็น Collection ด้วย Collection จึงอาจใช้ในความหมายว่าเป็นที่เก็บข้อมูลหรือโครงสร้างข้อมูลได้เช่น Java Collections Framework
Collection เป็นโครงสร้างข้อมูลพื้นฐานที่สุด อาจมีจุดเด่นสู้แบบชนิดข้อมูลนามธรรมหรือโครงสร้างข้อมูลอื่นๆที่ลงรายละเอียดไม่ได้ อาทิตารางแฮชก็เข้าถึงข้อมูลได้รวดเร็ว แถวคอยลำดับความสำคัญก็เข้าถึงข้อมูลตัวที่สำคัญที่สุดได้รวดเร็ว แต่ถึงอย่างไรก็ตามทุกโครงสร้างข้อมูลก็มีเงื่อนไข เช่น ตารางแฮชเก็บข้อมูลซ้ำกันไม่ได้ เป็นต้น เพราะฉะนั้น Collection มีจุดเด่นที่เห็นชัดเจนที่สุดคือ มีเงื่อนไขน้อยนั่นเอง
นอกจากนั้นแล้ว เนื่องจากการมีเงื่อนไขน้อย จึงทำให้ไม่ต้องจัดการข้อมูลมาก การเพิ่มข้อมูลจึงใช้เวลาคงที่ O (1)อีกด้วย จึงเหมาะสมกับเป็นที่เก็บข้อมูลที่เก็บมากๆ แต่ใช้น้อยๆ
หากกล่าวถึง Collection เฉพาะในความหมายว่าเก็บข้อมูลที่ซ้ำกันได้ และไม่เรียงลำดับความสำคัญ เนื่องจากการไม่มีเงื่อนไขของข้อมูล ส่งผลให้มีการเก็บข้อมูลหรือการเพิ่มสมาชิกรวดเร็ว เป็นเวลาคงที่ (O (1)) แต่การเข้าถึงจะช้า เพราะไม่มีการจัดการที่ดี ต้องไล่ทุกสมาชิก จึงทำให้เสียเวลาเป็นเชิงเส้นกับจำนวนข้อมูล (O (n))
การสร้าง Collection อย่างง่ายอาจสร้างด้วยแถวลำดับ โดยเพิ่มสมาชิกตรงลำดับสุดท้าย ค้นหาสมาชิกโดยการใช้วงวน ไล่ทุกสมาชิกได้
This article uses material from the Wikipedia ไทย article คอลเลกชัน, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). เนื้อหาอนุญาตให้เผยแพร่ภายใต้ CC BY-SA 4.0 เว้นแต่ระบุไว้เป็นอื่น Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki ไทย (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.