คอลเลกชันทั่วไป (Common Collections)
ห้องสมุดมาตรฐานของภาษา Rust ประกอบไปด้วยโครงสร้างข้อมูลที่มีประโยชน์อย่างมากกลุ่มหนึ่งที่เรียกว่า คอลเลกชัน (collections) ชนิดข้อมูลอื่น ๆ ส่วนใหญ่มักแสดงผลแทนค่าข้อมูลเพียงค่าเดียวเจาะจง แต่ทว่าคอลเลกชันสามารถเก็บบรรจุข้อมูลได้หลากหลายค่าร่วมกัน และแตกต่างจากชนิดข้อมูลแบบอาเรย์ (array) และทูเพิล (tuple) ในตัวภาษา เพราะข้อมูลที่คอลเลกชันเหล่านี้อ้างอิงไปถึงจะถูกจัดเก็บไว้บนฮีป (heap) ซึ่งนั่นหมายความว่าขนาดปริมาณของข้อมูลไม่จำเป็นต้องทราบล่วงหน้าในขณะคอมไพล์ และสามารถขยายหรือหดขนาดได้ตามการรันของโปรแกรม คอลเลกชันแต่ละประเภทจะมีความสามารถและต้นทุนทรัพยากรที่แตกต่างกัน ซึ่งการเลือกใช้ประเภทที่เหมาะสมกับสถานการณ์ปัจจุบันของคุณเป็นทักษะที่คุณจะพัฒนาขึ้นเมื่อเวลาผ่านไป ในบทนี้เราจะพูดถึงคอลเลกชันสามประเภทที่นิยมเรียกใช้งานบ่อยที่สุดในโปรแกรมภาษา Rust ได้แก่:
- เวกเตอร์ (vector): ช่วยให้คุณสามารถจัดเก็บข้อมูลจำนวนที่ไม่คงที่เรียงต่อกันได้
- สตริง (string): คือคอลเลกชันของตัวอักษร เราเคยพูดถึงชนิดข้อมูล
Stringไปบ้างแล้วก่อนหน้านี้ แต่ในบทนี้เราจะมาเจาะลึกรายละเอียดเกี่ยวกับมันอย่างละเอียด - แฮชแมป (hash map): ช่วยให้คุณเชื่อมโยงข้อมูลเข้ากับคีย์ (key) เฉพาะเจาะจงได้ ซึ่งมันจัดเป็นหนึ่งในรูปแบบการนำไปใช้งานจริงของโครงสร้างข้อมูลทั่วไปที่เรียกว่า แมป (map)
ในการศึกษาเรียนรู้เกี่ยวกับคอลเลกชันประเภทอื่น ๆ ที่จัดเตรียมไว้ให้ในห้องสมุดมาตรฐาน สามารถเปิดดูได้ในเอกสารอ้างอิงของระบบ
เราจะมาพูดคุยถึงวิธีการสร้างและอัปเดตข้อมูลเวกเตอร์, สตริง และแฮชแมป รวมถึงสิ่งที่ทำให้แต่ละประเภทมีความพิเศษเฉพาะตัว